*   >> Чтение Образование Статьи >> science >> programming

Создание клона Space Invaders с КНОПКА - Explosions

й же сущности, как DamageOnContactConponent, так как должны быть проверены, чтобы найти Box2DSpatialComponent, что принадлежит к другому лицу, участвующих в столкновении.

 Открытый класс DamageOnContactConponent распространяется EntityComponent {общественного повреждения вар: INT = 0; общественная функция DamageOnContactConponent () {супер (); } Функция коррекции защищены onAdd (): пустота {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } Защищены переопределение функции OnRemove (): пустота {super.onRemove (); owner.

eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } Приватная функция OnCollision (событие: CollisionEvent): пустота {вар mySpatial: Box2DSpatialComponent = owner.lookupComponentByType (Box2DSpatialComponent), как Box2DSpatialComponent; вар друга: Box2DSpatialComponent = event.collidee === mySpatial event.collider: event.collidee; вар otherHealth: HealthComponent = other.owner.lookupComponentByType (HealthComponent), как HealthComponent; если (otherHealth! = NULL) otherHealth.damage (повреждение); owner.

destroy (); }} <Р> Новый компонент DeathHandlerComponent устанавливает onDied функцию, которая будет вызвана в случае события HealthComponent.DIED. Внутри onDied новый экземпляр шаблона взрыва создается и позиционируется. Обратите внимание, что мы стараемся вытащить ссылку как к Box2DSpatialComponent и компонента SimpleSpatialComponent для того, чтобы установить начальную позицию взрыва.

Конечно, мы знаем, что компания взрыв содержит SimpleSpatialComponent (потому что это то, что мы игре в XML файл), но я оставил этот код, чтобы выделить один из вопросов, с проектной системы PushButton компонента, который является то, что компоненты, которые выполняют та же функция довольно часто связаны.

В этом случае, как Box2DSpatialComponent и SimpleSpatialComponent обеспечить способ позиционирования объект в пространстве, фактически переменная положение не указано, как части общего интерфейса или базового класса, заставляя нас, чтобы проверить наличие обоих компонентов при попытке установить Исходное положение

 Открытый класс DeathHandlerComponent распространяется EntityComponent {общественного вар PositionReference:. PropertyReference = NULL; Функция DeathHandlerComponent общественности () {супер (); } Функция коррекции защищены onAdd (): пустота {super.onAdd (); owner.

eventDispatcher.addEventListener (HealthComponent.DIED, onDied); } Защищены перео

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Чтение Образование Статьи,https://ru.nmjjxx.com All rights reserved.