public override atualização function ():. void {//... aimingUp = false; aimingDown = false; if (FlxG.keys.UP) aimingUp = true; else if (FlxG.keys.DOWN && velocity.y) aimingDown = true;.A função de atualização agora define os sinalizadores aimingUp e aimingDown dependendo se as teclas de seta para cima e para baixo são pressionados
if ( FlxG.keys.justPressed ("C")) {var bXVel: int = 0; var bYVel: int = 0; var bX: int = x; var por: int = y; if (aimingUp) {a - = balas [currentBullet] .height - 4; bYVel = -BULLET_VELOCITY; } Else if (aimingDown) {By + = altura - 4; bYVel = BULLET_VELOCITY; velocity.y - = BULLET_BOOST; } Else if (de frente para == DIREITO) {bX + = width - 4; bXVel = BULLET_VELOCITY; } Else {bX - = balas [currentBullet] .width - 4; bXVel = -BULLET_VELOCITY; } Balas [currentBullet] .shoot (BX, pelo, bXVel, bYVel); ++ currentBullet; currentBullet% = bullets.length; } //...}
O, se a chave C foi pressionada, descobrimos a posição inicial e direção do novo Bala, e, em seguida, chamar a função Bulletshoot para realmente adicionar o marcador para o nível.
Além disso, se aimingDown é verdade, o jogador irá receber um pequeno impulso para cima como as balas são disparadas modificando velocity.y.
armas Então, com apenas algumas linhas de código que temos agora adicionado ao jogo. Com Flixel cuidar de toda a lógica subjacente, como colisões, movimento e animações tudo o que precisamos fazer é definir como as balas mover e quando eles serão adicionados e removidos do nível.
Como uma nota interessante , você deve tomar cuidado ao definir as combinações de teclas que são usadas no jogo, porque às vezes as teclas não registrará que eles têm sido pressionados quando várias chaves também são pressionados ao mesmo tempo. No meu laptop, por exemplo, a chave C não irá registar uma tecla quando duas teclas de seta já são pressionados. Isto faz com que seja impossível para disparar para baixo quando se desloca lateralmente no ar. Curiosamente, se eu usar Z como a chave fogo, eu pode disparar para baixo enquanto movendo para a esquerda, mas não está certo.
Estes congestionamentos principais parecem ser aleatória através de hardware diferente, assim torná-lo algo que você testar antes de implantar o seu jogo.
Criando um jogo de plataforma flash com Flixel e Flex - Inimigos
- Como centro de uma mensagem de uma linha em um C ++ program
- Introdução à linguagem C ++ padrão biblioteca de suporte
- Configuração sem fios para 615 D-link
- Network Troubleshooting Commands
- PushButton Tutorial Series - Parallax Background
- Declarações Condicionais : Programação Batch File
- Princípios de um recipiente simples C ++ Sequence
- A lógica booleana E Php Condições
- Anti-spam-rastreador e-mail jQuery
- Terceirização tornando mais comum para Video Game Testing