Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Entrar

Esqueci-me da senha

Últimos assuntos

» Uma ideia de jogo
por Chocolate Qua Set 04, 2013 10:31 pm

» Concurso anual para dezembro?
por lucas Qui maio 02, 2013 5:18 am

» Battle Spaceship
por lucas Qui Jan 31, 2013 12:07 pm

» Meditania
por lucas Qui Jan 31, 2013 12:03 pm

» nova ADM ? confira!
por lucas Qui Jan 31, 2013 12:00 pm

» CAPTURIX ( agora Beta! )
por lucas Qua Jan 30, 2013 12:00 am

» Sons de laser
por lucas Seg Jan 28, 2013 7:26 pm

» Sons de moedas
por leyon2.0 Dom Jan 27, 2013 12:18 am

» [Engine]Sistema de Anchievements(Conquistas)
por leyon2.0 Dom Jan 27, 2013 12:14 am


2 participantes

    [TUTO] A melhor movimentação em plataforma - Com Sprites

    leyon2.0
    leyon2.0
    Admin


    Mensagens : 59
    Data de inscrição : 07/10/2012
    Idade : 25
    Localização : rio brilhante-ms

    [TUTO] A melhor movimentação em plataforma - Com Sprites Empty [TUTO] A melhor movimentação em plataforma - Com Sprites

    Mensagem por leyon2.0 Dom Nov 11, 2012 5:11 am

    Boas! Galera! Vamos a um tutorial que você nunca mais vai
    esquecer e sempre vai querer usar =D

    Porque? Por que é simplesmente PERFEITO =D

    Nome:
    A melhor movimentação em plataforma - Com Sprites
    Descrição: Tuto que ensina à você criar uma movimentação em
    plataforma perfeita!
    Nível de dificuldade: iniciante, mediano.
    Requerimentos: GM 8 LITE
    Desenvolvimento: 100% completo


    Bem então é o seguinte, temos que criar 6 sprites. [TUTO] A melhor movimentação em plataforma - Com Sprites C:\DOCUME~1\USUARIO\CONFIG~1\Temp\msohtml1\01\clip_image001Porque
    6 sprites? Por que simplesmente você tem que criar um sprite que de um lado do
    sprite seja de um jeito, e do outro seja de outro jeito, ou seja que nem esse:






    [TUTO] A melhor movimentação em plataforma - Com Sprites 0000[TUTO] A melhor movimentação em plataforma - Com Sprites 0000%20%282%29



    Repare que há diferença nos lados do sprite =D Isso deixa seu game mais rico em
    detalhes =D

    Uma andando para a direita: spr_and_dir
    Uma andando para a esquerda: spr_and_esq

    Uma parada para a direita: spr_par_dir
    Uma parada para a esquerda: spr_par_esq
    Uma pulando para a direita: spr_pul_dir
    Uma pulando para a esquerda: spr_pul_esq


    LEMBRANDO MARQUE SEMPRE O CENTRO DA SPRITE E
    TODAS TEM QUE ESTAR COM O MESMO TAMANHO EXEMPLO: 100X100


    Após criado a sprite Você deverá fazer a maskara do player, [TUTO] A melhor movimentação em plataforma - Com Sprites C:\DOCUME~1\USUARIO\CONFIG~1\Temp\msohtml1\01\clip_image001Mas
    meu personagem não tem mascara!
    A mascara que vamos criar não é a mascara do rosto e sim uma mascara para a
    colisão do nosso player, é a peça que ira bater com as coisas! A mascara nada
    mais é do que uma sprite preta do mesmo tamanho do pé do player, assim:
    spr_mask_player




    [TUTO] A melhor movimentação em plataforma - Com Sprites Mascara






    Ok, tendo a mascara criada e os 6 sprites do player, faça uma sprite
    que será o chão tbm =D


    Vamos aos objetos! São apenas 2 objetos: o obj_player e o
    obj_chao

    No obj_player, selecione a spr_par_esq e onde esta escrito mask coloque o mask
    do player que vc criou lembra spr_mask_player





    [TUTO] A melhor movimentação em plataforma - Com Sprites Spr_par_esq




    Adicione um evento create e arraste o execute code na aba control
    e coloque o seguinte código:


    Code: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]


    image_speed=1;
    //É a velocidade
    da animação do nosso personagem. Aqui, você pode colocar o valor que desejar.

    parado=true; //Variável para indicar se o personagem
    está parado ou não.

    andando=false; //Variável para indicar se nosso
    personagem está andando ou não.

    noar=false; //O valor dessa variável vai indicar se o
    personagem está no ar ou não. Importante para a checagem dos sprites.

    lado=0; //O lado para que o nosso personagem está
    virado. 1 seria virado para a direita e 0 para a esquerda.





    Adicione um evento step e arraste o execute code na aba control
    e coloque o seguinte código:


    Code: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]


    if (place_free(x,y+1)) //Checa se 1 pixel abaixo está vazio, ou
    seja, se não tem chão.

    {gravity=0.5; noar=true;
    //Coloca valor na
    gravidade e define a variável noar para true, ou seja, o personagem não está no
    chão.

    } else
    //Se
    a expressão place_free for falsa, ou seja, tenha chão embaixo:

    {gravity=0; noar=false; //Gravidade se torna zero e a variável
    noar se torna false, ou seja, o personagem está no chão.

    }

    //Definiões de pulo
    if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1)) //Checa se a tecla de direção cima foi
    pressionada e se NÃO tem um pixel livre abaixo.

    {
    vspeed=-9; noar=true; friction=0 //Se for verdade, velocidade vertical se
    torna 9 negativo e a variávell noar se torna true, ou seja, o personagem NÃO
    está no chão.

    }

    if (
    vspeed>12) //Checa se a velocidade vertical do
    personagem possui um valor maior que 12.

    vspeed=12; //Se estiver maior do que 12, o valor se
    torna 12. Isso serve para que o personagem não ultrapasse grandes velocidades
    verticais, podendo causar bugs no jogo.


    if (
    keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y)) //Checa se a tecla de direção esquerda
    está sendo pressionada, e se a tecla direita NÃO está sendo pressionada e se
    tem 5 pixels de espaço à esquerda.

    {x-=5; lado=0; andando=true; parado=false;//Caso a expressão acima seja verdadeira,
    o personagem se move 5 pixels a esquerda, virá para a esquerda de acordo com a
    variável lado, a variável andando se torna true para indicar que o personagem
    está andando e a variável parado se torna false, ou seja, o personagem NÃO está
    parado.

    }

    if (
    keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y)) //Mesmo de cima, só que dessa vez,
    checamos se a tecla de direção direita está sendo pressionada, se a tecla de
    direção esquerda NÃO está sendo pressionada e se tem 5 pixels à direita livre.

    {x+=5; lado=1; andando=true; parado=false; //A mesma coisa do evento anterior. A
    única coisa que muda é que aqui o personagem se move 5 pixels a direita e a
    variável lado se torna 1, ou seja, ele vira pra direita.

    }

    if ! (
    keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) //Checa se a tecla direita e a tecla
    esquerda não estão sendo precionadas.

    {andando=false; parado=true;//Caso seja verdade, a variável andando se
    torna false, ou seja, o personagem NÃO está andando. E a variável parado se torna
    true, ou seja, o personagem está parado.

    }

    //Sprites
    if (noar==false) //Checa se o personagem está no ar.

    {
    if (andando=
    true)
    && (lado==
    1) //Checa se o personagem está andando e se
    ele está virado para a direita.

    {
    sprite_index=spr_and_dir; //Se sim, a sprite dele se torna a sprite
    do personagem andando para a direita.

    }
    if (andando=
    true)
    && (lado==
    0) //Checa se o personagem está andando e se
    ele está virado para a esquerda.

    {
    sprite_index=spr_and_esq; //Se sim, o sprite dele se torna a sprite
    do personagem andando para a esquerda.

    }
    if (andando==
    false) && (parado==true) && (lado==1) //Se
    o personagem não está andando, se o personagem está parado e está virado para a
    direita:

    {
    sprite_index=spr_par_dir; //Se sim, a sprite dele se torna a sprite
    do personagem parado para a direita.

    }
    if (andando==
    false) && (parado==true) && (lado==0) //Se
    o personagem não está andando, está parado e está virado para a esquerda:

    {
    sprite_index=spr_par_esq; //Se sim, a sprite dele se torna o sprite
    do personagem parado para a esquerda.

    }
    }
    else
    //Caso
    o personagem NÃO esteja com os pés no chão:

    {
    if (
    vspeed>0) || (vspeed<0) && (lado==1) //Se ele está pulando ou caindo e está
    virado para a direita:

    {
    sprite_index=spr_pul_dir; //O sprite do personagem se torna o sprite
    dele pulando para a direita.

    }
    if (
    vspeed>0) || (vspeed<0) && (lado==0) //Se o personagem está pulando ou caindo e
    está virado para a esquerda:

    {
    sprite_index=spr_pul_esq; //O sprite do personagem se torna o sprute
    dele pulando para a esquerda.

    }
    }





    Feito isso adicione um evento de colisão com o obj_chao e arraste o
    execute code na aba control
    e coloque o seguinte código:


    Code: [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]


    move_contact_solid(direction,12);
    vspeed=0;




    Agora no obj_chao, marque ele como solid!

    Coloque tudo na room de acordo com o seu gosto e teste =D
    Então é isso galera caso encontrem algum erro me comuniquem! Obrigado até a
    próxima... [TUTO] A melhor movimentação em plataforma - Com Sprites C:\DOCUME~1\USUARIO\CONFIG~1\Temp\msohtml1\01\clip_image005

    Tutorial feito por Soul Limaloko
    Sprites por Mutte







    creditos:soul limaloko
    leyon2.0
    leyon2.0
    Admin


    Mensagens : 59
    Data de inscrição : 07/10/2012
    Idade : 25
    Localização : rio brilhante-ms

    [TUTO] A melhor movimentação em plataforma - Com Sprites Empty Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

    Mensagem por leyon2.0 Dom Nov 11, 2012 5:49 pm

    opa! tutorial atualhizado !!!!!!
    lucas
    lucas
    Admin


    Mensagens : 67
    Data de inscrição : 01/10/2012
    Idade : 24
    Localização : São Paulo

    [TUTO] A melhor movimentação em plataforma - Com Sprites Empty Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

    Mensagem por lucas Seg Nov 12, 2012 4:57 pm

    Cara vi ontem de ontem esse tutorial mais bem eu entendi!

    Conteúdo patrocinado


    [TUTO] A melhor movimentação em plataforma - Com Sprites Empty Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Dom maio 19, 2024 4:36 pm