2013-06-26 3 views
0

Итак, у меня есть уровень и хочу, чтобы x, y прямоугольника перемещался как большое колесо. Я собираюсь использовать его в качестве платформы для достижения конечной точки. Таким образом, каждый кадр перемещается на 1 или 2 пикселя. Просто интересно, как это сделать?Холст поворачивает прямоугольник как большое колесо

Я могу сделать форму бриллианта достаточно легко для 50 циклов x будет ++; и y будет be ++; , то после 50 х будет -; и y будет ++; и так далее.

Как делается круг?

ответ

3

Не совсем уверен, что вы пытаетесь сделать, но если я понимаю вопрос правильно, вы должны сохранить текущий угол прямоугольника, theta, а затем обновить x и y как r*sin(theta)+offset_x и r*cos(theta)+offset_y где значения смещения позиции от центра вращения. Затем каждый кадр увеличивается на theta на небольшое количество.

+0

+1 Так близко! var newX = centerX + радиус * Math.cos (угол); и var newY = центр Y + радиус * Math.sin (угол); – markE