Добрый день. Возникла проблема с созданием главного меню для игры. У меня есть 2 объекта: Game Name и Buttons (содержащий 4 картинки-кнопки). Общая структура:
Параметры объектов и их Rect Transform:
К объекту Buttons и GameText привязан скрипт на прокрутку:
public class ScrollObjects : MonoBehaviour {
public float speed = 5f, checkPos = 0f;
private RectTransform rect;
void Start()
{
rect = GetComponent<RectTransform>();
}
void Update()
{
if (rect.offsetMin.y != checkPos)
rect.offsetMin += new Vector2(rect.offsetMin.x, speed);
rect.offsetMax += new Vector2(rect.offsetMax.x, speed);
}
}
Вопрос заключается в том, почему кнопки не останавливаются на 0-ом значении и продолжают перемещаться вверх? Тоже самое происходит с GameName (если изменить скорость на -5f т.к. должна выплывать сверху вниз). P.S. на скриншотах я изначальное положение объектов не выводил за пределы видимости, но даже при таких параметрах, при запуске объекты просто убегают вверх. Извините за скомканный вопрос, старался описать как мог, если нужна дополнительная информация, то поделюсь.
В if вы используете !=, а надо использовать знаки сравнения (> >= < <=, в зависимости от вашей логики). float переменной вы не получите абсолютного нуля, почитайте про точность. Вот тут можете почитать.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости