Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   самонаводка в игре (https://javascript.ru/forum/misc/24911-samonavodka-v-igre.html)

Раед 18.01.2012 18:51

самонаводка в игре
 
Пишу игру на JS. Нужно сделать самонаводку. Снаряд-шар должен двигаться в сторону другого объекта. Подскажите, как высчитать координаты.

B@rmaley.e><e 18.01.2012 19:23

Координаты чего? Чьи координаты Вы знаете?

Раед 18.01.2012 22:57

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 151269)
Координаты чего? Чьи координаты Вы знаете?

известны текущие координаты снаряда(определены через стили) и собственно координаты объекта, к которому летит снаряд. Нужно в интервале(, рекурсией или как нибудь ещё) изменять координаты снаряда, постоянно направляя его к объекту.

B@rmaley.e><e 18.01.2012 23:20

Используйте setInterval для изменения состояния сцены.

Касательно подсчёта координат: вычесть из радиус-вектора цели радиус-вектор снаряда, отнормировать результат, умножить на модуль скорости и прибавить к радиус-вектору снаряда.

Раед 19.01.2012 18:22

Извините, не совсем понял, что такое радиус-вектор

B@rmaley.e><e 19.01.2012 23:21

Википедия про радиус-вектор.

А вообще, для написания графической игры строго рекомендуется знание линейной алгебры и аналитической геометрии. Писать игру без этих знаний — гиблое дело.

Джэксон 21.05.2012 16:48

Писать игру на javascript само по себе не очень удобно. Я бы для этого по старинке выбрал бы ActionScript.

B@rmaley.e><e 21.05.2012 16:50

Цитата:

Сообщение от Джэксон
Писать игру на javascript само по себе не очень удобно.

Аргументируйте.

Джэксон 21.05.2012 22:35

Цитата:

Сообщение от B@rmaley.e><e (Сообщение 175760)
Аргументируйте.

Могу аргументировать это тем, что большинство игр написано на ActionScript. И так как я предполагаю люди не стали бы специально выбирать более сложный вариант написания игры, а выбрали бы тот что полегче.

9xakep 21.05.2012 22:50

А разве ActionScript не старая технология? Не лучше ли юзать канвас?

Раед 21.05.2012 23:13

Цитата:

Сообщение от 9xakep
А разве ActionScript не старая технология?

Учитывая количество Flash игр, да и просто роликов, не старая, а очень даже современная.
И потом канвас и AS - это совсем разные вещи.
Вот только на Flash переходить что-то не охота.

9xakep 21.05.2012 23:36

Раед,
Я знаю, что разные. У меня друг на канвасе, пытался делать бильярд, написал конечно, физика, но физика страдала, то работала, то нет, но в целом, если доработать, то было бы ок.

alexan0308 22.05.2012 16:50

А еще Лучше на готовом движке пиши. Например бесплатный tululoo.com, tululoo.ru. Я за пару дней спаял стрелялку http://javascript.ru/forum/project/2...okopyatka.html

B@rmaley.e><e 22.05.2012 18:13

Цитата:

Сообщение от Джэксон
Могу аргументировать это тем, что большинство игр написано на ActionScript.

Когда-то большинство игр было написано на асемблере. Их и сейчас так пишут?

The special one 22.05.2012 20:14

XV = XT + skor*cos(napr)
YV = YT + skor*sin(napr)

где
XV, YV - координаты X и Y, которые необходимо вычислить,
XT, YT - текущие координаты снаряда,
skor - скорость снаряда в пикселях,
napr - направление движения снаряда (это может быть угол между снарядом и целью).


Часовой пояс GMT +3, время: 08:27.