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

Создание клона Space Invaders с КНОПКА - Убийство Player

<р> Играть демо

<р> скачать Исходный код

<р> вернуться на главную учебник

<р> Благодаря физике двигатель, когда игрок и враг сталкиваются враг будет толкать игрока из пути. В космических захватчиков игра должна закончиться, когда враг и игрок сталкиваются, так что мы должны добавить компонент, который будет вызывать как игрока и врага, чтобы взорвать на контакт.

<Р> Это немного отличается от используемой системы здравоохранения в столкновении между врагом и игроки пуль.

В этом сценарии пуля будет вычитать некоторое здоровье от врага, и если здоровье враги достичь 0 HealthComponent будет уничтожить вражескую сущность и направить событие, чтобы другие компоненты знаем, что лицо умерло. В этот момент противник имеет 1 единицу пустоши, и пули вычесть 1 единицу здоровья, так что конечный результат в том, что враги будут умирать с одного выстрела. Но в будущем мы хотим, чтобы добавить врагов, которые имеют два или более кадров, и благодаря HealthComponent, что может быть сделано путем изменения одного элемента XML.


<Р> В отличие от столкновения между игроком и врагом должны всегда приводят в обоих разрушается. Для реализации этого нового компонента под названием DeathOnContactComponent создается.

<Р> DeathOnContactComponent.as

 DeathOnContactComponent общественного класс расширяет EntityComponent {<р> Коллекция deathCollisionTypes держит имена лиц, которые вызовут эту, чтобы компания быть уничтожены, когда они сталкиваются с ней 

 deathCollisionTypes общественных покупатель:.

Массив; Функция DeathOnContactComponent общественности () {супер (); } Функция коррекции защищены onAdd (): пустота {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } Защищены переопределение функции OnRemove (): пустота {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.COLLISION_EVENT, OnCollision); } <Р> В функции onCollision мы находим Box2DSpatialComponent сталкивающихся лица (помните, что вы не можете предположить, что event.collidee или event.

collider будет последовательно относятся к другой организации), а затем мы узнаем, если другой лица Имя столкновение матч для одного из тех, кто в коллекции deathCollisionTypes

 частные функции OnCollision (событие: CollisionEvent): пустота {вар mySpatial:. Box2DSpatialComponent = owner.lookupComponentByType (Box2DSpatialComponent), как Box2DSpatialComponent; вар друга: Box2DSpatialComponent = event.collid

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