Ответы пользователя по тегу C#
  • Как ограничить диапазон вращения в unity?

    @PrizmMARgh
    void setAngle(float angle) {
    angle = angle > LIMITMAX ? LIMITMAX : angle < LIMITMIN ? LIMITMIN : angle; // ограничение угла в пределах [LIMITMIN; LIMITMAX]
    transform.rotation.z = angle; //(или что-то вроде setRotation, но точно не rotate, не помню, как точно методы называются)
    }

    если нужно, чтобы стрелка поворачивалась плавнее, то можно писать:
    float beta = 0.9; //чем ближе к 1, тем медленнее вращается
    transform.rotation.z = (transform.rotation.z) * (1-beta) + angle * beta; //опять же, возможно, по стандарту нельзя напрямую устанавливать значение поворота, так что потребуется set-метод.
    Ответ написан
    Комментировать
  • Юнити как создать префаб UI в месте клика?

    @PrizmMARgh
    Не уверена, сработает ли, но, по идее, должно.
    1. создаём префаб нужного ui-элемента
    2. обрабатываем нажатие и получаем положение мышки (гуглить OnScreenPosition)
    3. создаём объект, устанавливаем ему canvas, как родителя (X.transform.parent = Y.transform; )
    4. сохраняем ссылку на этот объект для дальнейших манипуляций
    Ответ написан
    Комментировать