App Game Kit: Movendo o Jogador, Tela e uso do Joystick Virtual
// Move um jogador pela tela usando um joystick virtual
// Define o aspecto do display
//SetDisplayAspect ( 4.0 / 3.0 )
// parte de cima do campo de futebol
LoadImage ( 1, "pitch_top.jpg" )
CreateSprite ( 1, 1 )
SetSpriteSize ( 1, 100, -1 )
// parte de baixo do campo de futebol
LoadImage ( 2, "pitch_bottom.jpg" )
CreateSprite ( 2, 2 )
// -1 mantem a proporcao
SetSpriteSize ( 2, 100, -1 )
SetSpriteY ( 2, GetSpriteHeight ( 1 ) )
// jogador
LoadImage ( 3, "blue-standing.png" )
CreateSprite ( 3, 3 )
SetSpriteSize ( 3, 2.5, -1 )
SetSpritePosition ( 3, 50, 50 )
// animacao do jogador, usando quadro a quadro
AddSpriteAnimationFrame ( 3, LoadImage ( "blue-running-1.png" ) )
AddSpriteAnimationFrame ( 3, LoadImage ( "blue-running-2.png" ) )
AddSpriteAnimationFrame ( 3, LoadImage ( "blue-running-3.png" ) )
AddSpriteAnimationFrame ( 3, LoadImage ( "blue-running-4.png" ) )
AddSpriteAnimationFrame ( 3, LoadImage ( "blue-running-5.png" ) )
AddSpriteAnimationFrame ( 3, LoadImage ( "blue-running-6.png" ) )
// o joystick virtual na tela
// slot, x, y, tamanho
AddVirtualJoystick ( 1, 8, 90, 10 )
// laco principal
do
// Instrucoes para o player
Print ( "Use o joystick virtual para" )
Print ( "controlar o jogador." )
// leitura das entrdas de x e y do joystick
joystickX# = GetVirtualJoystickX ( 1 )
joystickY# = GetVirtualJoystickY ( 1 )
// descobrir onde esta o player
x# = GetSpriteX ( 3 )
y# = GetSpriteY ( 3 )
// descobrindo a direcao do movimento do player
x1# = x# - joystickX#
y1# = y# - joystickY#
// usando o angulo correto para virar a sprite
// ATanFull retorna o angulo entre x e y, tipo relogio
angle# = ATanFull ( x1# - x#, y1# - y# )
SetSpriteAngle ( 3, angle# )
// atualiza a posicao do jogador
SetSpritePosition ( 3, GetSpriteX ( 3 ) + ( joystickX# / 5.0 ), GetSpriteY ( 3 ) + ( joystickY# / 5.0 ) )
// movimenta a tela
SetViewOffset ( 0.0, y# - 50 )
// quando o jogador nao esta movendo para a animacao da sprite
if ( joystickX# = 0.0 and joystickY# = 0.0 )
StopSprite ( 3 )
SetSpriteFrame ( 3, 3 )
else
// se mover toca a animacao
if ( GetSpritePlaying ( 3 ) = 0 )
PlaySprite ( 3, 10, 1, 2, 7 )
endif
endif
// atualiza a tela
sync ( )
loop
Comentários
Postar um comentário