Как определить координаты направления движения
задача следующая нужно имея имеются кнопки назад вперед, влево, вправо, последние 2 вращают объект, как двигать объект всегда вперед - относительно того куда объект направлен в данный момент, имея угол поворота объекта?
![]() |
Эм.. сделать скорость ускорение по осям и каждую долю задержки изменять начальные координаты в зависимости от скорости ? :)
Я просто не совсем понял ваш вопрос? Вы не можете куб переместить ? Или вращать его до нужно вам значения 7! |
нужно каждый шаг, получать координаты x2 y1 имея x2 y2 и угол поворота
|
Цитата:
|
дык было давно, уже даже сформулировать не могу нормально)
|
Цитата:
Если не вспомниться, или не было, то нех тебе вообще к компьютеру подходить ,кроме как почту посмотреть, да в одноклассниках посидеть. |
Цитата:
{
zeroPoint: {x: 0, y: 0},
interpolateCoords: function (directionRad, moveDelta, moveProgress, fromPoint) {
var x = GameObject.interpolateX(directionRad, moveDelta.x, moveProgress, fromPoint.x);
var y = GameObject.interpolateY(directionRad, moveDelta.y, moveProgress, fromPoint.y);
return { x: x, y: y };
},
interpolateX: function (directionRad, delta, progr, from) {
return Math.cos(directionRad) * delta * progr + from;
},
interpolateY: function (directionRad, delta, progr, from) {
return Math.sin(directionRad) * delta * progr + from;
}
}
|
Цитата:
|
Цитата:
|
достаточно вспомнить, что cos это координата радиус точки в прямоугольном треугольнике, лежащая на окружности, то есть если тело движется под углом 60градусов, то при радиус векторе(гипотенузе, прощеговоря)(ее вы сами выбираете) допустим 10, след координата точки будет 10 * cos(60) = 5. Аналогично с sin, только синус это координата по y
|
| Часовой пояс GMT +3, время: 23:33. |