A única coisa a notar é que a folha de sprite inimigo tem apenas dois quadros de animação. Por padrão cada quadro de animação podem ser exibidos na tela por 50 milissegundos, tornando a taxa de animação padrão de 20 quadros por segundo. Para permitir uma taxa de quadros mais lento que precisamos para atribuir um valor à variável AnimationControllerInfo maxFrameDelay.
Desde que nós queremos exibir apenas 4 quadros por segundo, esse valor precisa ser 1000/4 = 250 milissegundos
var IdleAnimation: AnimationControllerInfo = new AnimationControllerInfo ();. IdleAnimation.frameRate = 4; IdleAnimation.maxFrameDelay = 250; IdleAnimation.loop = true; IdleAnimation.spriteSheet = IdleSpriteSheet; Animation.animations ["idle"] = IdleAnimation; entity.addComponent (Animation, "Animação"); retornar entidade;}Quando o jogador se choca com um inimigo que quer que saltar fora.
Assim como fizemos com as plataformas, o componente KeyboardController vai assistir a uma colisão com um inimigo na função OnCollision. Quando uma colisão é detectada a variável recoilVector está definido para o normal da colisão
OnCollision função privada (event: CollisionEvent):. Void {if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Plataforma ")) {if (event.normal.y> 0,7) onground ++; } Else if (ObjectTypeManager.instance.doesTypeOverlap (event.collidee.collisionType, "Enemy")) {recoilVector = event.normal; }}
Na função onTick vamos verificar para ver se a variável recoilVector foi definido para algo. Se ele tem que jogar um efeito de som para mostrar que o jogador tenha sido ferido, e a velocidade do jogador é definido como uma pequena quantidade ao longo da negativa do recoilVector, que vai saltar o jogador para longe do inimigo.
< pre> função override público onTick (Tickrate: Number): void {//... if (! recoilVector = null) {if (! hurtSound = null) hurtSound.play (); velocity.x - = recoilVector.x * RecoilSpeed; velocity.y - = recoilVector.
y * RecoilSpeed; recoilVector = null; recoilDelay = RecoilDelay; }
A variável recoilDelay é então contado para baixo a zero. O propósito disto é parar o jogador de ser controlado com o teclado para um curto período de tempo. Se não fizéssemos isso, o jogador poderia saltar fora um inimigo com o recoilVector, mas em seguida, passar direto de volta para o inimigo graças à velocidade aplicada em resposta a entrada do teclad
PushButton Tutorial Series - Parallax Background
- Aplicativo de console para Enfiar using System.Threading em C # 1.1 e 2.0 (Dot N…
- O objeto de exceção pré-definidas em Php
- Conhecendo o motor Irrlicht 3D - Abrindo Um Window
- Posicionamento elementos HTML com CSS e Layering
- Popularidade de Various Programação de Computadores Languages
- ActivePerl Básico Syntax
- Estilos classe de janela
- iPhone Core Data Tutorial Parte 3,2
- O que é um controlador lógico programável (PLC) que é um Controlador Lógico…
- Você está familiarizado com a frase & amp; # 039; todo o equipamento, mas nenh…