Среда, 13 Ноября 2024, 11:59

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вопрос по обьекту, его спрайту и маске.
nekroo98Дата: Вторник, 09 Августа 2016, 14:39 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Вот есть у нас такая картинка из игры, где кратко описана суть.

Создается объект-молния. В настройках объекта задается соответствующий спрайт и маска <same as sprite>
В событии Draw код:
Код
{draw_sprite_ext(spritename,-1,sozdatel.x,sozdatel.y,0.6,1,point_direction(sozdatel.x,sozdatel.y,target.x,target.y)+90,c_white,1);

чтобы спрайт рисовался от начальной цели к конечной.
Но проблема в том, что маска то остается на старом месте, и соответственно коллизии не происходит.
Можно ли заставить маску следовать за рисуемым спрайтом в событии Draw?
Или может есть какой-то иной способ решения проблемы?
Благодарю за внимание.


Сообщение отредактировал nekroo98 - Вторник, 09 Августа 2016, 14:39
FireF1yДата: Вторник, 09 Августа 2016, 14:50 | Сообщение # 2
был не раз
Сейчас нет на сайте
Есть стандартные переменные объекта для работы с его спрайтом:
image_xscale
image_yscale
image_angle и т.д.
И, вроде бы, маска меняется при измиенении этих переменных.
nekroo98Дата: Вторник, 09 Августа 2016, 15:00 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Цитата FireF1y ()
image_angle

от дурак старый, совсем забыл про него :)
Спасибо.
FireF1yДата: Вторник, 09 Августа 2016, 15:02 | Сообщение # 4
был не раз
Сейчас нет на сайте
И еще, вот что есть в справке:

Цитата
Наконец, Вы можете изменить маску столкновений для спрайтов следующими функциями. Помните, что они не будут работать правильно, если например спрайт уже присутствует в комнате.

sprite_collision_mask(ind,sepmasks,bboxmode,bbleft,bbright,bbtop,bbbottom,kind,tolerance) Изменяет маску столкновений для спрайтов с индексом ind. sepmasks указывает должны ли быть отдельные маски столкновения для всех кадров. bboxmode устанавливает режим ограничивающей рамки (0 = автоматически, 1 = изображение целиком, 2 = определенное пользователем). bbleft, bbright, bbtop, bbbottom указывают размеры ограничивающего прямоугольника. Вы можете использовать 0 для всех этих значений в случае другого режима столкновений. Kind это вид маски (0 = точная, 1 = ограничивающий прямоугольник, 2 = диск, 3 = ромб). tolerance означает порог значения прозрачности (0 = нет прозрачности, 255 = полная прозрачность).
  • Страница 1 из 1
  • 1
Поиск:

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