hitWall boolean público (FlxCore Contato) {hurt(0); return true; } HitFloor boolean público (FlxCore Contato) {hurt
(0); return true; } HitCeiling boolean público (FlxCore Contato) {hurt
(0); return true; } Mágoa public void (Dano float) {if (mortos) retorno; velocity.x = 0; velocity.
y = 0; dead = true; jogar ("poof"); }
A função de filmagem é chamado pelo jogador a tomar uma bala inativo (ou seja, aquele em que a variável existe é falsa) e colocá-lo de volta para o jogo na posição especificada e com a velocidade especificada.
shoot public void (bX flutuar, flutuar, flutuar bXVel, flutuar bYVel) {super.reset (BX, por); velocity.x = bXVel; velocity.y = bYVel; se (velocity.y 0) jogar ("para baixo"); else if (velocity.x 0) jogar ("right"); }}No construtor gamestate criamos oito novos objetos de bala, e colocá-los em uma nova coleção chamada playerBullets.
O construtor do jogador foi modificada para aceitar uma referência a esta nova coleção.
Se você olhar de perto, temos também dividir o loop que cria as plataformas FlxBlock nível e os objetos inimigo. Isso ocorre porque a ordem em que esses objetos são criados define a ordem na tela - objetos criados depois aparecem por cima dos que criou anteriormente. Ao criar os objetos inimigo depois que os objetos FlxBlock podemos garantir que os inimigos (e os FlxEmitters que vamos adicionar ao morrer) são desenhados em cima dos blocos que compõem o nível.
GameState.
java
A função de atualização é modificado para incluir uma nova verificação de colisão entre as balas e os blocos de nível e os inimigos. Quando uma colisão é detectada com um inimigo tanto a bala eo inimigo tem sua função mágoa chamado
atualização public void () {super.update (.); FlxG.collideArrayList (levelBlocks, leitor); FlxG.overlapArrayList (inimigos, jogador, novo FlxCollideListener () {public void Collide (FlxCore object1, FlxCore object2) {player.kill (); FlxG.fade (0xffd8eba2,3, novo FlxFadeListener () {public void fadeComplete () {FlxG .switchState (MenuState.class);}});}}); FlxG.collideArrayLists (playerBullets, levelBlocks); FlxG.overlapArrayLists (playerBullets, inimigos, novo FlxCollideListener () {void bala público Collide (FlxCore, FlxCore inimigo) {((FlxSprite) bullet) .hurt
(0); ((FlxSprite) inimigo) .hurt
(1);}} ); }
Como a classe Player no último tutorial, a classe Inimigo agora ganha um FlxEmitter que é
PushButton Tutorial Series - Carregando Recursos
- C ++ Operators
- NetBeans IDE para Java Programming
- Como garantir code
- Aplicativo de console para a criação de pirâmide estrela usando o código C #…
- Três Java Mitos Debunked
- Java Variables
- AS3IsoLib Tutorial Series - Moving Boxes
- CSS Fixo Solução Posicionamento a um dos Problemas do quadro
- Contratar DotNetNuke Developer para personalizado DNN Development
- Identificando itens de dados e Entidades