Воскресенье, 17 Ноября 2024, 16:34

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
И опять управление: Ходьба героя
doxlДата: Среда, 01 Июня 2011, 22:53 | Сообщение # 1
старожил
Сейчас нет на сайте
есть проблема как сделать движение спрайта туда куда тыкнул мышью и чтобы игрок шёл и если к примеру он идет вправо то анимация в право производиться он идет влево анимация влево нужно для изометрии


Нажимай.
FadeBakerДата: Среда, 01 Июня 2011, 23:37 | Сообщение # 2
JavaSE Game Developer
Сейчас нет на сайте
Попробуй так: при нажатии мышью, создавай объект o_point в её координатах, и проверяй, в какой стороне он находится относительно игрока. Если выше - меняешь спрайт, смотрящий вверх, если ниже - то спрайт, смотрящий вниз, также и с другими.
Это в степе игрока:
Code
if y > o_point.y
{sprite_index = sprUp}
else
{sprite_index = sprDown}
if x > o_point.x
{sprite_index = sprLeft}
else
{sprite_index = sprRight}


Только не забудь при нажатии мыши уничтожать все объекты o_point, чтобы на карте было не больше одного объекта, иначе могут возникнуть баги.


Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
ilya7834Дата: Четверг, 02 Июня 2011, 08:33 | Сообщение # 3
Работаю на Irrlicht Engine
Сейчас нет на сайте
на мой взгляд легче сделать через direction:
в степе проверяем директион если меньше 45 или больше 305 то "правый" спрайт. Дальше также 360 или 0 градусов начинаются справа, 90 вверху, 180 слева, 270 снизу.
Сорри код написать не богу на телефоне это не реально. :^)

Добавлено (02.06.2011, 08:33)
---------------------------------------------
да и еще direction=point_direction(x, y, mouse_x, mouse_y) это помещаем в событие нажатия клавиши мыши


На синем небе
Попробуй-ка разглядеть
Синюю звезду
BaHu3aTopДата: Четверг, 02 Июня 2011, 13:36 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Quote (ilya7834)
да и еще direction=point_direction(x, y, mouse_x, mouse_y) это помещаем в событие нажатия клавиши мыши

По моему это для изометрии не подойдет.


doxlДата: Четверг, 02 Июня 2011, 16:24 | Сообщение # 5
старожил
Сейчас нет на сайте
Quote
Попробуй так: при нажатии мышью, создавай объект o_point в её координатах, и проверяй, в какой стороне он находится относительно игрока. Если выше - меняешь спрайт, смотрящий вверх, если ниже - то спрайт, смотрящий вниз, также и с другими.
Это в степе игрока:
Code
if y > o_point.y
{sprite_index = sprUp}
else
{sprite_index = sprDown}
if x > o_point.x
{sprite_index = sprLeft}
else
{sprite_index = sprRight}

Только не забудь при нажатии мыши уничтожать все объекты o_point, чтобы на карте было не больше одного объекта, иначе могут возникнуть баги.


есть проблема анимация происходит тока по оси Х а по Y нефига



Нажимай.
ilya7834Дата: Четверг, 02 Июня 2011, 18:13 | Сообщение # 6
Работаю на Irrlicht Engine
Сейчас нет на сайте
по моему надо убрать else

На синем небе
Попробуй-ка разглядеть
Синюю звезду
vetoloДата: Четверг, 02 Июня 2011, 18:54 | Сообщение # 7
участник
Сейчас нет на сайте
doxl, попробуй вот так:
Code

if direction<270 and direction>220
{
sprite_index=sprite
}
else
if direction<220 and direction>180
{
sprite_index=sprite_a
}



I like Minimal techno.


Сообщение отредактировал vetolo - Четверг, 02 Июня 2011, 18:56
doxlДата: Четверг, 02 Июня 2011, 20:37 | Сообщение # 8
старожил
Сейчас нет на сайте
спс попробую

Добавлено (02.06.2011, 20:37)
---------------------------------------------
получилось но не совсем точто нужно вот посмотрите версия гм 8
скачать исходник



Нажимай.
FadeBakerДата: Четверг, 02 Июня 2011, 20:56 | Сообщение # 9
JavaSE Game Developer
Сейчас нет на сайте
Вот: Вроде исправил!

Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
doxlДата: Четверг, 02 Июня 2011, 21:05 | Сообщение # 10
старожил
Сейчас нет на сайте
спс то что нужно с меня +


Нажимай.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг