Пятница, 22 Ноября 2024, 19:08

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Не просчитываются столкновения
CeBepДата: Понедельник, 31 Мая 2010, 12:00 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Дело было так: решил сделать на днях простенькую стрелялку, нарисовал спрайты, подготовил героя, оружие, врагов. Запустил что б протестировать, и что я увидел: пули проходят сквозь противников, хотя я в событии столкновении пули с противником выбрал действие Destroy self. В чем проблема?По глубине противники и пули на одном уровне.

The real war is to follow the law of the lord-© DMX
NeZnayuДата: Понедельник, 31 Мая 2010, 13:11 | Сообщение # 2
__танцуй!__
Сейчас нет на сайте
Какая скорость у пуль? Размер спрайтов противников? Возможно они просто пролетают насквозь.

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
Made_In_USSRДата: Понедельник, 31 Мая 2010, 13:15 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Может быть ты пули рисуешь или противников в событии Draw? Bounding box'ы проверь, может они слишком маленькие и не "цепляются" за противников

Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)


Сообщение отредактировал Made_In_USSR - Понедельник, 31 Мая 2010, 13:16
CeBepДата: Понедельник, 31 Мая 2010, 13:29 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Скорость пуль 25, противники рисуются в событии Draw. Пули действительно просто пролетают насквозь.

The real war is to follow the law of the lord-© DMX
NeZnayuДата: Понедельник, 31 Мая 2010, 13:33 | Сообщение # 5
__танцуй!__
Сейчас нет на сайте
Скорость пули не должна превышать ширину (или высоту) спрайта противника в пикселях.
(это если столкновение проверять стандартным методом)


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
CeBepДата: Понедельник, 31 Мая 2010, 13:44 | Сообщение # 6
постоянный участник
Сейчас нет на сайте
В ширину и высоту спрайт больше скорости пули, я проверил, а какие еще есть способы проверки столкновений?
Кстати для противников исправно просчитываются все столкновения с пулями: меняются как надо спрайты, убывает здоровье.


The real war is to follow the law of the lord-© DMX


Сообщение отредактировал CeBep - Понедельник, 31 Мая 2010, 13:50
NeZnayuДата: Понедельник, 31 Мая 2010, 14:22 | Сообщение # 7
__танцуй!__
Сейчас нет на сайте
Если враги корректно реагируют на столкновение - значит дело не в них. Напиши код которым удаляешь пулю. А лучше вообще весь код столкновения.

Насчет других способов проверки - чуть позже сделаю пример (сейчас не у компьютера просто)


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
FedenkoVadikДата: Понедельник, 31 Мая 2010, 15:00 | Сообщение # 8
Level 5 Gentleman
Сейчас нет на сайте
почему никто использует такую шнягу
Code

  for (i=0; i<=9; i+=1) list[i] = i+1;

С ней скорость пули можно зделать хоть 1000, только производительность ухудшится но можно написать i+2 например ... и норм ...
CeBepДата: Понедельник, 31 Мая 2010, 15:14 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
FedenkoVadik, а что с этим теперь делать?

The real war is to follow the law of the lord-© DMX
FedenkoVadikДата: Понедельник, 31 Мая 2010, 17:39 | Сообщение # 10
Level 5 Gentleman
Сейчас нет на сайте
все что угодно, даже лазер!
Made_In_USSRДата: Понедельник, 31 Мая 2010, 19:39 | Сообщение # 11
заслуженный участник
Сейчас нет на сайте
Quote (CeBep)
Скорость пуль 25, противники рисуются в событии Draw. Пули действительно просто пролетают насквозь.

Все что нарисовано в событии Draw не генерирует столкновения


Новичкам изучающим GML кликать сюда.
Много примеров, исходников, библиотек и вообще всего что вам только может пригодиться. Автор портала, прости меня за ссылку, наболело =)
NeZnayuДата: Понедельник, 31 Мая 2010, 22:24 | Сообщение # 12
__танцуй!__
Сейчас нет на сайте
Made_In_USSR, еще как генерирует. (так же как оригинальный спрайт)

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Понедельник, 31 Мая 2010, 22:26
FedenkoVadikДата: Понедельник, 31 Мая 2010, 23:13 | Сообщение # 13
Level 5 Gentleman
Сейчас нет на сайте
??? Да не, ну если спрайта нету (и маски соответственно тоже) но спрайт оно рисует, то коллюзий не будет, а вот если написать что то вроде draw_sprite(sprite_index,image_index,x,y) тогда да (при условий присутствия маски) , а так когда ты панель например нарисуешь она же не коллюзится ...
NeZnayuДата: Понедельник, 31 Мая 2010, 23:52 | Сообщение # 14
__танцуй!__
Сейчас нет на сайте
Если у объекта есть спрайт - столкновения будут соблюдаться согласно ему.

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
FedenkoVadikДата: Вторник, 01 Июня 2010, 00:10 | Сообщение # 15
Level 5 Gentleman
Сейчас нет на сайте
а если спрайта нет, то не будут ничего соблюдатся вообще ...
NeZnayuДата: Вторник, 01 Июня 2010, 02:03 | Сообщение # 16
__танцуй!__
Сейчас нет на сайте
Именно, но враги реагируют на столкновение, значит спрайт у пули есть.
Как и обещал - пример альтернативной реализации столкновений (для сверх-быстрых пуль)
скачать


CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу


Сообщение отредактировал NeZnayu - Вторник, 01 Июня 2010, 14:18
CeBepДата: Вторник, 01 Июня 2010, 10:26 | Сообщение # 17
постоянный участник
Сейчас нет на сайте
NeZnayu, можешь перелазить пожалуйста, а то не качает.
Кстати оригинальный спрайт есть, пробовал шаманить с маской столкновений, делал по всякому, но ничего не вышло. Пули реагируют также на столкновения с другими предметами комнаты.

Добавлено (01.06.2010, 10:26)
---------------------------------------------
Разобрался в чем причина, сглупил я, в событии столкновения противника с пулей от противника отлетала кровь (для этого я вставил нужный кусок кода), но я его к сожалению проглядел и сделал уже с помощью кнопок тоже самое, а конкретно repeat-> ctreate moving instans of object obj_bullet, из-за чего просто создавались новые пули. Да, я проглядел объект, а все из-за того что слепо копировал с исходника своего предыдущего проекта. Так что всем спасибо за то что попытались помочь и за то (а это самое важное) что просветили о способах просчета столкновений.


The real war is to follow the law of the lord-© DMX
NeZnayuДата: Вторник, 01 Июня 2010, 14:18 | Сообщение # 18
__танцуй!__
Сейчас нет на сайте
CeBep, перезалил - ссылка та же wink

CombatForce - 2d TDS долгожданный релиз
Noobster - самый простой конструктор игр в мире
LaLaLaLAMA! - игра не про Ламу
  • Страница 1 из 1
  • 1
Поиск:

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