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

Postagens mais visitadas deste blog

App Game Kit: Sprites Animadas