<р> скачать Исходный код
<р> Возврат к учебник ИНДЕКС
<р> Для целей настоящего демо, враг просто урезанная версия Игрок лицо. Он будет содержать тот же рендеринг, анимация и пространственные компоненты, которые позволяют его анимированный спрайт быть обращено на экране и участвовать в обнаружении столкновения.
Враг еще не будет двигаться, но на самом деле большинство врагов в игре платформы не будет намного сложнее, что мы имеем здесь в любом случае: как правило, они будут двигаться вокруг с несколькими очень ограниченных поведения, как ходьба вдоль платформы или летать по воздух. То, что мы хотим сделать, это получить статический врага в игре, и у игрока реагировать на него.
<Р> Создание враг лицо делается в 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 =
PushButton Учебник серии - Параллакс Background
- Java Учебники - Урок 3: реляционных и Логически…
- Звук и элемент HTML-объектов
- Наследование в Php классы
- Combo Box Функции
- Javascript Функциональные Основы
- C ++ Основные Syntax
- Понимание программирование игр
- Веб-страница дизайн для всех Resolutions
- Создание объектов JavaScript в наследство
- ActivePerl Условный Statements