Воскресенье, 22 Декабря 2024, 20:42

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Не работает анимация
InitroДата: Воскресенье, 19 Января 2014, 21:33 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Почему в Game Maker Studio Не работает анимация?
Код
if keyboard_check(vk_left) then   
{
x-=sp;
image_index=spr_player_run_left
}

if keyboard_check(vk_right) then
{
x+=sp;
image_index=spr_player_run_right
}

if keyboard_check(vk_up) then
{
y-=sp;
image_index=spr_player_run_up
}

if keyboard_check(vk_down) then
{
y+=sp;  
image_index=spr_player_run_down
}
zzzzzaДата: Воскресенье, 19 Января 2014, 21:48 | Сообщение # 2
участник
Сейчас нет на сайте
Initro, image_index - это индекс картинки в спрайте.(1,2...)
sprite_index - это то, что тебе нужно.
InitroДата: Воскресенье, 19 Января 2014, 23:19 | Сообщение # 3
почетный гость
Сейчас нет на сайте
zzzzza, Блин точняк
я чет забыл..
спасибо тебе
+
GrynskouДата: Понедельник, 28 Сентября 2015, 15:21 | Сообщение # 4
был не раз
Сейчас нет на сайте
Добрый день. Нужна помощь... Персонаж двигается на клик мышки...
Код
mp_potential_step(goalx,goaly,5,1);

есть спрайты анимации движения по 8 направлениям, по сути код не сильно сложный но чет не выходит...
спрайт вообще не отображается...
этот код добавил в step
Код

direction = point_direction (x, y, mouse_x, mouse_y); //opredelyaem napravlenie
if (direction<23)&&(direction>337)  {sprite_index=spr_user_muve_r; image_speed=8}
if (direction<67)&&(direction>23) {sprite_index=spr_user_muve_ru;}
if (direction<=113)&&(direction>=67) {sprite_index=spr_user_muve_u;}
if (direction<157)&&(direction>113) {sprite_index=spr_user_muve_lu;}
if (direction<=203)&&(direction>=157) {sprite_index=spr_user_muve_l;}
if (direction<247)&&(direction>203) {sprite_index=spr_user_muve_ld;}
if (direction<=293)&&(direction>=247) {sprite_index=spr_user_muve_d;}
if (direction<337)&&(direction>293) {sprite_index=spr_user_muve_rd;}
else {sprite_index=spr_user_1;}

direction определяется нормально
XDominatorДата: Вторник, 29 Сентября 2015, 19:32 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Какой кошмар)
А просто поворачивать один спрайт через image_angle = direction вместо всей этой вакханалии не вариант?

Либо организуй список углов и список спрайтов, соответствующих интервалу. Перебирай список углов, и когда попадаешь в нужный интервал - ставишь спрайт с соответствующим ИД из второго списка.


Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)
GrynskouДата: Вторник, 29 Сентября 2015, 19:52 | Сообщение # 6
был не раз
Сейчас нет на сайте
Ответ уже найден:
в draw
Код

var index = round(point_direction(x, y, mouse_x, mouse_y) / 45);
draw_sprite(sprites[index], -1, x, y);

и в Create
Код

sprites[0] = spr_hero_right;
sprites[1] = spr_hero_right_up;
sprites[2] = spr_hero_up;
sprites[3] = spr_hero_left_up;
sprites[4] = spr_hero_left;
sprites[5] = spr_hero_left_down;
sprites[6] = spr_hero_down;
sprites[7] = spr_hero_right_down;


вращать спрайт это мне не подходит у меня вид под углом, и с анимацией не всегда удобно твоим способом...

П.С. Спасибо за скорый и полноценный ответ...
  • Страница 1 из 1
  • 1
Поиск:

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