Сообщение от JeanWinters
Для того, чтобы объект двигался вверх/вниз можно использовать формулу sin(). Например, так:
var angle=0;
var range=10;
var speed = 0.25;
var y0 = circle.y;
circle = y0 + Math.sin(angle)*range;
angle+=speed;
Вопрос такой, нужно ли обнулять переменную angle , так как объект движется, а она возрастает, или переменная обнулится сама, как только достигнет предела значений типа? Во многих примерах рассматривают этот алгоритм движения, также как и масштабирования, вращения, но про то, что переменная постоянно возрастает не говорят ничего конкретного.
|
Вопрос переполнений редко рассматривается всерьёз (что оборачивается потенциальными дырами в безопасности), т.к. для большинства применений переполнение либо не происходит, либо не является недопустимым/критичным.
Переменная, в данном случае, конечно, обнулится (ОС не упадёт), но только это приведёт к скачку значений и некорректному моделированию движения.
Разумеется, обвязка (идентификации, объявления, коррекции), обеспечивающая согласование участка кода с остальной системой, в теоретических конспектах не упоминается за ненадобностью.
В указанном фрагменте кода, отбрасывание периода у аргумента периодической функции - хороший стиль написания отказоустойчивого кода.
См. ещё
Откидывание периода угла