Agora que temos a área de jogo preparada, vamos criar a nave espacial do jogador e trabalhar no código para a controlar.
MENU: EDITOR > SPRITES (tutorial para iniciantes)
Esta é a minha, mas sente-te à vontade para ser criativo com a tua!

Vou acrescentar uma segunda frame para a nave, que será mostrada se o jogador usar a tecla THRUST para subir no ecrã. Terá apenas uma pequena chama de propulsão a sair da traseira da nave. A forma mais rápida de o fazer é:
M copiar a frame atual
I inserir uma nova frame
K colar a frame original
e depois editá-la:

Ok, isto chega para os gráficos por agora. A seguir vamos escrever código para controlar a nave espacial. As regras que quero são:
1) As teclas esquerda e direita para mover a nave para a esquerda e para a direita
2) Uma tecla Thrust que, quando premida, mova o jogador até meio do ecrã, mas que, quando solta, o jogador volte à deriva para o fundo. Quando thrust é premida, também queremos mostrar a Frame 001 para mostrar a chama de propulsão
Primeiro, vamos definir as nossas teclas; eu prefiro QAOP Space:
MENU: EDITOR > KEYBOARD CONTROLS (tutorial para iniciantes)

MENU: EVENTS > PLAYER (tutorial para iniciantes)
Para começar, vamos acrescentar algum script básico do MPAGD que trate do movimento:
EVENT PLAYER ; COLOURS ; ======================= SPRITEINK 69 ; Bright Cyan ink IF KEY UP ; Player presses up (thrust) LET FRAME = 1 ; switch to the frame that shows jetflame IF Y > 80 ; If player is below the 80 y pixel line SPRITEUP ; move player up SPRITEUP ; and up again (faster movement) ENDIF ELSE ; if player is not pressing thrust LET FRAME = 0 ; switch to the regular spaceship (no jetflame) SPRITEDOWN ; move player down ENDIF ; PLAYER MOVEMENT ; ==================== IF KEY LEFT ; has player pressed LEFT? IF CANGOLEFT ; can the player move left? SPRITELEFT ; yes, move player left SPRITELEFT ; and again (moves faster) ENDIF ENDIF IF KEY RIGHT ; has the player pressed RIGHT? IF CANGORIGHT ; yes, can the player move right? SPRITERIGHT ; yes, move player right SPRITERIGHT ; and again (moves faster) ENDIF ENDIF ; BOUNDARY CHECK ; ==================== IF Y >= BOTTOMEDGE ; has player gone beyond the bottom edge? LET Y = BOTTOMEDGE ; yes, keep them at the bottom edge ENDIF
Pronto, já chega por agora; vamos compilar o jogo e ver como está a funcionar...
Sucesso! A nave consegue mover-se para a esquerda e para a direita, impulsionar-se para cima e voltar à deriva para baixo.
A seguir, vamos criar uma arma básica para o jogador que ele possa disparar
SEGUINTE: PARTE 4: A ARMA DO JOGADOR
