Ответы пользователя по тегу C#
  • Как можно реализовать раздельную анимацию разных частей объекта в Unity 3d?

    AnanasikDev
    @AnanasikDev
    Инди разработчик игр
    На лодку (или другой родительский объект обеих весел) надо повесит аниматор, к нему прикрепить анимацию движения весел. Ведь из аниматора можно анимировать все дочерние объекты.
    Ответ написан
    Комментировать
  • Срабатывание TakeDamage?

    AnanasikDev
    @AnanasikDev
    Инди разработчик игр
    Раскомментируй, проверь, есть ли на объекте со скриптом Health тег Player, убедись, что attackMask ты где-то назначаешь, ибо в коде я этого не вижу. Убедись, что проблема не в том, что радиус сферы мал. А еще обязательно надо в коде писать проверку твоего collision на null, иначе будет ошибка.
    Ответ написан
    Комментировать
  • Что делать если onWall не хочет проверятся?

    AnanasikDev
    @AnanasikDev
    Инди разработчик игр
    Физика в Unity устроена так, что для проверки столкновений проверяются все объекты попарно, согласно матрице столкновений. Так вот, для работы OverlapCircle и других методов для работы с физикой требуется rigidbody (или в твоем случае rigidbody2d) хотя бы на одном из объектов пары. А еще возможно, что у тебя в матрице столкновений (Edit->ProjectSettings->Physics2D в самом низу) отключено пересечение слоев этих объектов.
    Ответ написан
    Комментировать
  • Как отслеживать переменную в момент когда игра свернута?

    AnanasikDev
    @AnanasikDev
    Инди разработчик игр
    Для отслеживания времени вне игры лучше кэшировать время во время выхода из игры и вычитать его из времени запуска игры. Кэшировать надо в файл, чтобы значение хранилось, пока игра не запущена.
    Ответ написан
    Комментировать
  • Как телпортировать камеру при приближении к объетку?

    AnanasikDev
    @AnanasikDev
    Инди разработчик игр
    Что именно не работает? Объявлен ли pos в инспекторе? Висит ли на объекте с этим скриптом триггер и rigidbody? Причем на камере и коллайдер и rigidbody (если последнего нет на телепорте) также должны присутствовать. Совпадает ли название скрипта TELEPORT с названием скрипта? Повесили ли Вы данный скрипт на объект?
    50% успеха - это правильный анализ. Никто Вам не скажет, что тут не так, пока вы не расскажите, в чем именно заключается проблема. Можете использовать дебаггер, в крайнем случае выводить в консоль, но не вслепую тыкать, надеясь, что заработает.

    P.S.: еще немного советов по поводу данного кода. Я не советую использовать Camera.main, т.к. это довольно
    требовательная функция. Можно в Start закэшировать камеру, а затем ее использовать. Ну и, конечно, не следует называть скрипты капсом - это не очень читабельно.
    Ответ написан
    Комментировать
  • Как сделать показ наград выбитых из сундука?

    AnanasikDev
    @AnanasikDev
    Инди разработчик игр
    Просто сделай префаб для "карточки" (элемента), из кода его создавай в нужном месте, меняй параметры и все. Можно это сделать в цикле, там же на основе текущего индекса менять позицию
    Что-то вроде:
    [SerializeField] Item itemPrefab;
    [SerializeField] Transform Canvas;
    Item[] itemsGot;
    void DrawAll()
    {
     for (int i = 0; i < itemsGot.Length; i++)
     {
     Item item = Instantiate(itemPrefab, new Vector2(300 + i*80, 500), Quaternion.identity, canvas).GetComponent<Item>();
     item.params = itemsGot[i].params;
     }
    }
    Ответ написан
    2 комментария