• Почему отчищаются массивы?

    White_Night
    @White_Night
    Минус любая логика которая может быть....
    Прикинь что ты позвонил автомеханику и сказал что твой трактор не едет, ты жмешь на педаль газа а он не едет, после такой "детальной инфы" автомеханик больше от тебя трубку возьмет.
    Что вообще ты ожидаешь в данной ситуации получить ?
    Покажи свой код, объясни как все должно работать, и мы с радостью тебе поможем
  • Здраствуйте, как сделать, чтобы объект двигался по условию?

    White_Night
    @White_Night
    Геворг, изначально ошибка была в твоем вопросе, ты написал что тебе надо двигать дверь а не присвоить ей другую позицию, как написано в коде, и запутал всех, дальше, в каком методе ты вызываешь это условие ? Юзаешь ты триггер или нет ?
    Данная проверка:
    if (_hit.collider.GetComponent().type == ItemType.Door)
    очень странная и большая, делай так:
    if (_hit.collider.TryGetComponent(Door door) {
    door.Open();
    }
    так тебе не надо лишний раз получать компонент двери
  • Как сделать zoom в 2d к курсору?

    White_Night
    @White_Night
    Привет, ты в коде никак не перемещаешь камеру, метод Mathf.MoveTowards только скейлит по сути камеру, что тебе надо:
    1. Проверять в Update если колесо мыши изменилось
    2. Найти координаты мыши на сцене
    3. Через Rigidbody изменять позицию камеры
    еще есть много замечаний по дизайну кода:
    1. Всегда делай поля закрытыми, если надо что бы поле можно редактировать было в инспекторе то используй атрибут [SerializeField], также можно поле открыть только для чтения создав публичную переменную которая будет только возвращать значение приватной но не устанавливать какое либо значение в нее public float Speed {get{return _speed}}
    2. Если компонент находится на одном и том же объекте что и скрипт который этот компонент получает то при старте кешируй его в переменную ( _camera = GetComponent)
    3. Что бы не было ошибок при получения компонента которого нет на объекте то используй перед началом класса атрибут [RequireComponent(typeof(Component))]
  • Объект не реагирует на нажатие. Как решить?

    White_Night
    @White_Night
    sa2rday, со свайпами я еще не работал, но если надо просто реализовать вывод UI при нажатие на объект то следующий код поможет:

    [SerializeField] private GameObject _userInterface;

    private void Update()
    {
    if (Input.GetMouseButtonDown(0))
    {
    Ray rayHit = _inputCamera.ScreenPointToRay(new Vector3(Input.mousePosition.x, Input.mousePosition.y, Input.mousePosition.z));
    RaycastHit raycastHit = new RaycastHit();

    if (Physics.Raycast(rayHit, out raycastHit))
    {
    if (raycastHit.collider.CompareTag("ObjectTag"))
    {
    _userInterface.SetActive(true);
    }
    }
    }

    }

    Здесь идет проверка на Тег объекта по которому нажимаем, но я бы рекомендовал делать проверку на компонент, т.к. если будет опечатка то VS сразу тебе подскажет об этом

    raycastHit.collider.gameObject.GetComponent() != null
  • (C# unity) Кнопки съезжают при импорте на андроид, что делать?

    White_Night
    @White_Night
    LittleBob, у каждого устройства свое расширение, так что все зависит от устройства на котором запускаешь свой билд625c006789fbd065944507.png