*   >> Leitura Educação Artigos >> science >> programação

PushButton Tutorial Series - Enemies

jogar o demo

BAIXAR O CÓDIGO FONTE

Voltar ao Índice TUTORIAL

Para os fins deste demo, um inimigo é apenas um reduzir versão da entidade jogador. Ele irá conter o mesmo renderização, animação e componentes espaciais que permitem que um duende animado ser desenhado na tela e participar de detecção de colisão.

O inimigo não vai passar ainda, mas na verdade a maioria dos inimigos em um jogo de plataforma não vai ser muito mais complicado que temos aqui de qualquer maneira: geralmente eles vão se movimentar com alguns comportamentos muito limitadas como caminhar ao longo de uma plataforma ou voando através o ar. O que nós queremos fazer é obter um inimigo estático para o jogo e ter o jogador reagir a ela.

Criar a entidade inimiga é feito na classe EntityFactory apenas como a cena, jogador e plataformas.

Todo o código para criar os componentes componente espacial, componente renderizador de animação e Box2D são tomadas quase linha a linha, desde a criação da entidade jogador

 estático função pública createEnemy (name:. String, cena: String, posição: Point): IEntity {var entidade: IEntity = allocateEntity (); entity.initialize (nome); var espacial: Box2DSpatialComponent = new Box2DSpatialComponent (); var collisionShape: CircleCollisionShape = new CircleCollisionShape (); collisionShape.radius = 0,5; spatial.collisionShapes = new Array (); spatial.collisionShapes.

push (collisionShape); spatial.collisionType = new ObjectType ("Enemy", "Renderable"); spatial.collidesWithTypes = new ObjectType ("Player"); spatial.position = posição; spatial.canSleep = false; spatial.canRotate = false; spatial.canMove = false; spatial.size = new Point (26, 20); spatial.manager = NameManager.instance.lookupComponentByName (cena, SCENE_BOX2DMANAGER_COMPONENT) como Box2DManagerComponent; entity.addComponent (espacial, "Espacial"); var Renda: SpriteRenderComponent = new SpriteRenderComponent (); Render.positionReference = new PropertyReference ("@ Spatial.position"); entity.

addComponent (Render, "render"); var Animação: AnimationController = new AnimationController (); Animation.spriteSheetReference = new PropertyReference ("@ Render.spriteSheet"); Animation.currentFrameReference = new PropertyReference ("@ Render.spriteIndex"); Animation.defaultAnimation = "idle"; var IdleSpriteSheet: SpriteSheetComponent = new SpriteSheetComponent (); IdleSpriteSheet.imageFilename = "../media/enemy.png"; var divider1: CellCountDivider = new CellCountD

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 Leitura Educação Artigos,https://artigos.nmjjxx.com All rights reserved.