Понедельник, 21 Октября 2019, 16:26

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Координаты отрисовки спрайта
Координаты отрисовки спрайта
StarLLaytheДата: Суббота, 20 Июля 2019, 22:56 | Сообщение # 1
был не раз
Сейчас нет на сайте
У меня есть объект и он может иметь два спрайта, в одном случае без анимации, во втором с анимацией, где он фактически изменяет только "высоту" то есть там кадры чередуются таким образом 0-1-2-1-0-1-2-1 (цифра это как бы на сколько пикселей в кадре всё изображение нарисовано выше, чем в предыдущем кадре)

Мне нужно закрепить ещё спрайт без анимации рядом с объектом, то есть координаты отрисовки спрайта рядом с объектом должны соответствовать анимации спрайта объекта. Когда в анимации спрайта объекта весь спрайт поднимается на 1 пиксель, координата спрайта тоже должна быть координатаОтрисовки-1

При этом нельзя просто создать анимацию для спрайта, например, соответствующую анимации спрайта объекта (спрайт объекта может меняться, а другой спрайт всегда постоянный и должен отрисовываться в нужном месте, учитывая подъём-спуск изображения в анимации)
LunarPixelДата: Воскресенье, 21 Июля 2019, 12:04 | Сообщение # 2
старожил
Сейчас нет на сайте
Заведи массив, хранящий сдвиги для каждого кадра анимации.

Код
array[0] = 0;
array[1] = 1;
array[2] = 2;
array[3] = 1;
array[4] = 0;
array[5] = 1;
array[6] = 2;
array[7] = 1;


Затем, при отрисовки спрайта без анимации, просто смещай его на нужное значение, в зависимости от того, какой кадр анимации сейчас активен.

Как-то так:
Код
draw_sprite(sprite,-1,x,y-array[round(image_index)]);




Сообщение отредактировал LunarPixel - Воскресенье, 21 Июля 2019, 12:06
StarLLaytheДата: Воскресенье, 21 Июля 2019, 15:29 | Сообщение # 3
был не раз
Сейчас нет на сайте
Всё. Прекрасно работает, полагаю дело было больше не в массиве, но так всё равно гораздо удобнее, единственное что, пришлось это дописать:

Код

array[8] = 0; //Без этого казалось, что отстаёт


Сообщение отредактировал StarLLaythe - Воскресенье, 21 Июля 2019, 15:40
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker Studio » Координаты отрисовки спрайта
  • Страница 1 из 1
  • 1
Поиск:

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