O míssil do jogador é definido em Sprite Type 1. Usa uma imagem de sprite simples de 16x16 e é lançado quando o jogador prime a tecla de disparo.
Por defeito, o míssil só percorre metade da altura do ecrã, mas podes editar isso facilmente, ou usar uma das variáveis disponíveis para o definir, o que poderá ser uma forma engenhosa de recompensar o jogador com um power up.
Quando atinge a distância máxima, ou chega ao topo do ecrã, ou atinge um inimigo, desencadeia uma explosão incrementando o frame, já que a explosão do torpedo está contida nos frames 1-4
EVENT SPRITETYPE1 ;======= PLAYER TORPEDOS ============ ;============================================ ; ; VARIABLES ; ======================================================= ; DIRECTION - DIRECTION OF TRAVEL, 99 = TRIGGER EXPLOSION ; SETTINGA - availabe for use in your game ; SETTINGB - DISTANCE TRAVELLED COUNTER ; AIRBORNE - availabe for use in your game ; JUMPSPEED - availabe for use in your game ; ======================================================== IF DIRECTION 1 ; Torpedo travel up LET IMAGE = 1 ; make sure we are on image 1 REPEAT 6 ; torpedos move quick, so do this 6 times SPRITEUP ; move up ADD 2 TO SETTINGB ; increase the distance travelled by 2 IF SETTINGB > = 88 ; when distance travelled = 88 LET DIRECTION = 99 ; run the explode routine ENDIF IF Y <= 8 ; has the torpedo reached the top? LET DIRECTION = 99 ; yes, so explode it EXIT ; exit this event (as we are in a loop) ENDIF ENDREPEAT ENDIF ; EXPLODE THE TORPEDO ; =================== IF DIRECTION = 99 ; torpedo explosion requested ADD 1 TO FRAME ; increment the frame IF FRAME = 5 ; when we reach the last frame REMOVE ; remove the torpedo SUBTRACT 1 FROM S ; decrement the sprite counter ENDIF ENDIF
