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

PushButton Учебник серии - Враги

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

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

<р> Возврат к учебник ИНДЕКС

<р> Для целей настоящего демо, враг просто урезанная версия Игрок лицо. Он будет содержать тот же рендеринг, анимация и пространственные компоненты, которые позволяют его анимированный спрайт быть обращено на экране и участвовать в обнаружении столкновения.

Враг еще не будет двигаться, но на самом деле большинство врагов в игре платформы не будет намного сложнее, что мы имеем здесь в любом случае: как правило, они будут двигаться вокруг с несколькими очень ограниченных поведения, как ходьба вдоль платформы или летать по воздух. То, что мы хотим сделать, это получить статический врага в игре, и у игрока реагировать на него.

<Р> Создание враг лицо делается в EntityFactory класса, как на сцене, плеером и платформ.

Весь код, чтобы создать пространственная компонента, компонента визуализации и анимационные компоненты Box2D взяты почти линию для линии от создания игрока лица

 статический общественная функция createEnemy (имя:. Строка, сцена: Строка, должность: Точка): IEntity {вар лицо: IEntity = allocateEntity (); entity.initialize (имя); вар пространственное: Box2DSpatialComponent = новый Box2DSpatialComponent (); вар collisionShape: CircleCollisionShape = новый CircleCollisionShape (); collisionShape.radius = 0,5; spatial.collisionShapes = новый Array (); spatial.collisionShapes.

push (collisionShape); spatial.collisionType = новый ObjectType ("Враг", "отображаемый"); spatial.collidesWithTypes = новый ObjectType ("Игрок"); Spatial.position = положение; spatial.canSleep = ложь; spatial.canRotate = ложь; spatial.canMove = ложь; spatial.size = новая точка (26, 20); spatial.manager = NameManager.instance.lookupComponentByName (сцена, SCENE_BOX2DMANAGER_COMPONENT), как Box2DManagerComponent; entity.addComponent (пространственные, "Пространственное"); вар Визуализация: SpriteRenderComponent = новый SpriteRenderComponent (); Render.

positionReference = новый PropertyReference ("@ Spatial.position"); entity.addComponent (Рендер, "Визуализация"); вар Анимация: AnimationController = новый AnimationController (); Animation.spriteSheetReference = новый PropertyReference ("@ Render.spriteSheet"); Animation.currentFrameReference = новый PropertyReference ("@ Render.spriteIndex"); Animation.defaultAnimation = "Idle"; вар IdleSpriteSheet: SpriteSheetComponent = новый SpriteSheetComponent (); IdleSpriteSheet.imageFilename = "../media/enemy.

png"; вар divider1: CellCountDivider =

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