<р> Загрузить исходный код ИСТОЧНИК
<р> вернуться на главную учебник
<р> Уничтожение противника в ответ на столкновения с игроков пуля может показаться достаточно простым, но есть немного работы, что должно быть сделано в фоновом режиме, чтобы управлять здоровье противника, уменьшить, что здоровье в ответ на столкновения с пулей, и, наконец, для отображения взрыв когда враг умер.
<р> В результате взрыва, как и любой другой анимационный спрайт, определяется в XML файлы.
Как пуль он существует в виде шаблона, но не добавляется в любых групп, так что он не загружен, когда уровень загружен. Потому что взрыва не будет участвовать в обнаружении столкновения или быть перемещены по экрану мало нужно, чтобы имитировать его с физическим движком Box2D. Таким образом, пространственная компонента будет SimpleSpatialComponent, в отличие от Box2DSpatialComponent используется для врагов, плеером и пуль. Кроме того те же визуализации и анимации компоненты добавляют к объекту взрыва.
<Р> код
<р> Кроме того новый компонент называется DestroyAfterCountdownComponent добавляется. Цель этого компонента состоит в уничтожении объект по истечении определенного периода времени. В этом случае мы хотим, чтобы уничтожить объект взрыва, как только анимация завершена.
<Р> код
<р> Кнопка поставляется с удобным компонент, называемый HealthComponent, которые могут быть использованы для поддержания здоровья субъекта, причиной повреждение объекта путем уменьшения здоровья, и уничтожить объект сразу все его здоровья нет.
Этот компонент добавлен в шаблон противника, и мы установить начальную здоровье противника до 1 (значение по умолчанию равно 100).
<Р> код
<р> Когда здоровье управляется HealthComponent сводится к нулю предприятие разрушено по умолчанию, но он также отправляет событие, чтобы другие компоненты знаем, что лицо умерло. DeathHandlerComponent используется, чтобы наблюдать за этим событием и добавить новый экземпляр сущности взрыва.
<Р> код
DamageOnContactConponent, которая была введена в прошлом уроке, была изменена, чтобы найти Компонент здравоохранения субъекта, который столкнулся с и называем свою функцию ущерб, который приведет к снижению здоровья другого лица и в конце концов уничтожить его. CollisionEvent который передается функции слушателя событий столкновения имеет ссылки на двух Box2DSpatialComponent называется collidee и коллайдер.
Вы не можете предположить, один или другой принадлежит к то