screenWidth var público:. int = 480; velocidade var público: Number = 200; sideBuffer var público: int = 32;Como regra geral, o construtor de um componente não deve incluir qualquer código. Quando um novo componente é criado, eo construtor é chamado, não está ligado a uma entidade. Embora eles não são usados aqui, a OnAdd e funções OnRemove são, essencialmente, o equivalente ao construtor e destruidor (para os programadores C ++ lá fora)
PlayerControllerComponent função pública () {super (.); }
A função onTick é onde nós atualizamos o jogador. Em primeiro lugar, obter uma referência para a velocidade e posição entidades. Esses valores são mantidos pelo componente espacial e ligada na definição de modelo XML, mas não faz diferença para o PlayerControllerComponent onde estes valores vêm. Este tipo de acoplamento é um dos aspectos do sistema de criação componente botão. O PlayerControllerComponent sabe como modificar a posição e velocidade de uma entidade, mas não se importa como a posição e velocidade são utilizados
função override público onTick (Tickrate: Number):.Void {super.onTick (Tickrate ); velocidade var: Ponto = owner.getProperty (velocityReference); posição var: Ponto = owner.getProperty (positionReference);
Há sempre a possibilidade de que as referências de propriedade não foram definidas, caso em que as variáveis de posição e de velocidade serão nulos. Mesmo que o flash player liberação falha silenciosamente com esses tipos de erros, podemos muito bem lidar com esta possibilidade graciosamente aqui por não avançar mais.
if (velocidade == posição nula || == null) return ;Primeiro queremos obrigado a posição do jogador para que ele não irá se mover para fora da borda da tela
if (position.x> screenWidth - sideBuffer) position.x = screenWidth - sideBuffer.; else if (position.xEm seguida, precisamos atualizar a velocidade dependendo de qual tecla de seta é pressionado, se houver
if (InputManager.isKeyDown (InputKey.LEFT)) {velocity.x =. - velocidade;} else if (InputManager.isKeyDown (InputKey.RIGHT)) {velocity.x = velocidade;} else {velocity.x = 0;.}
Em seguida, sincronizar essas mudanças de volta à entidade-mãe
< pre> owner.setProperty (positionReference, posição); owner.setProperty (velocityReference, velocidade);}}
References.as
Enquanto PushButton irá lidar com a criação de componentes das cord
Fazendo um clone de Space Invaders com PushButton - Bullets
- Como planejar rotinas de um programa de computador estruturado
- Como garantir code
- iPhone redimensionar uma UIImage
- Mysql Instrução Create Table Sql por Chrys
- Mysql Expressões Regulares Padrão Constrói
- Criando um jogo de plataforma flash com Flixel e Flex - Powerup Blocks
- Operadores lógicos em Php
- Basics oop em Php
- Estilos classe de janela
- Os modificadores mapa em C ++