Conectar-se
Quem está conectado
16 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 16 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 25/07/2010
Número de Mensagens : 630
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuáriohttp://clubmaker.forumeiros.com

Definir sprites dos players diferentes

em Sab 19 Mar 2011, 22:20
bom, eu uso esse script de movimentação:
Código:
//////////////////////////
// Script de Movimento  //
//    do Player        //
//////////////////////////

//////////////////// Variáveis //////////////////////
parado=true;
andando=false;
lado=0;
abaixado=false;
//////////////////// Gravidade //////////////////////
if (place_free(x,y+1)){
gravity=0.5;
}
else {
gravity=0;
}
///////////////////// Pulo ///////////////////////////
if (keyboard_check_pressed(vk_up)) and (place_free(x,y+1))
{
vspeed=-8;
}
/////////////////// Movimento ///////////////////////
//Direita
if (keyboard_check(vk_left)) and not (keyboard_check(vk_right)) and (place_free(x-3,y))
{
x-=3.5; lado=0; andando=true; parado=false;
}
//Esquerda
if (keyboard_check(vk_right)) and not (keyboard_check(vk_left)) and (place_free(x+3,y))
{
x+=3.5; lado=1; andando=true; parado=false;
}
/////////////// Configuração de Movimento //////////////

if (vspeed>12)
vspeed=12;

if not (keyboard_check(vk_left)) and not (keyboard_check(vk_right))
{
andando=false; parado=true;
}

No caso, esse script servirá para vários personagens mais como eu faço pra as sprites serem trocadas corretamente, por exemplo, eu tenho o player 1 e player 2 , eu vou usar o mesmo script, só que eles são sprites diferentes, como fazer isso, lembrando isso não é um código de um objeto, é um script.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 28/10/2008
Número de Mensagens : 820
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 29

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Definir sprites dos players diferentes

em Sab 19 Mar 2011, 22:34
Ola X-Games, blz?
Eu também costumo usar scripts nos meus jogos, e todos os meus personagens inclusive o player, usam os mesmos para movimentação e verificação da gravidade, para isso eu faço um objeto para cada personagem e defino no create deles quais os sprites seram usados para eles andando, pulando, morrendo, etc.
Então no step eu coloco para executar o script correspondente ( A folha com uma seta verde no GM ).
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 25/07/2010
Número de Mensagens : 630
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuáriohttp://clubmaker.forumeiros.com

Re: Definir sprites dos players diferentes

em Sab 19 Mar 2011, 23:10
eu coloquei assim:

Código:
if (global.parado=true) and (global.andando=false) and (global.lado==1)
{
sprite_index=ichigo_parado;
}
if (global.andando=true) and (global.parado=false) and (global.lado==1)
{
sprite_index=ichigo_andando;
}
if (global.lado==0)
{
image_xscale=-1;
}
if (global.atacando=true) and (global.ataque="normal")
{
sprite_index=ichigo_atacando;
}

Tem algo errado com as variáveis do primeiro script??
tem algo errado com esse código ?


Última edição por X-Games em Dom 20 Mar 2011, 19:33, editado 1 vez(es)
avatar
Ranking : Nota C
Notas recebidas : E-D-A-D
Data de inscrição : 13/03/2011
Número de Mensagens : 272
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Definir sprites dos players diferentes

em Dom 20 Mar 2011, 10:59
cara, para fazer movimentação, EU uso os codigos nos objetos, nao sei se isso te ajudará, mais vou tentar ver oq posso fazer

antes de tudo, vou nomear as sprites aí vc edita conforme as suas:
spr_p1_andando_direita = player1 andando direita
spr_p1_andando_esquerda = player1 andando esquerda
spr_p1_parado_direita = player1 parado direita
spr_p1_parado_esquerda = player1 parado esquerda
spr_p1_parado_direita = player1 parado direita
spr_p1_pulando_direita = player1 pulando para direita
spr_p1_pulando_esquerda = player1 pulando para esquerda

vai no seu obj do player (vou chama-lo de obj_p1) e coloque assim no create:

Código:
lado=1 //1=direita 0=esquerda
parado=true
abaixado=false
pulo=false
morrendo=false
image_speed=0.3

depois no step:

Código:
//PULO
if place_free(x,y+1)
{gravity=1}
else
{gravity=0}
if keyboard_check_pressed(vk_up)&&!place_free(x,y+2)
{vspeed=-10 pulo=true abaixado =false}

//PRINCIPAL
if keyboard_check(vk_left) &&!keyboard_check(vk_right)
{x-=7 lado=0 parado=false abaixado=false}

if keyboard_check(vk_right) &&!keyboard_check(vk_left)
{x+=7 lado=1 parado=false  abaixado=false}

if !keyboard_check(vk_right) &&!keyboard_check(vk_left)
{parado=true }

if keyboard_check_pressed(vk_down) &¶do=true
{abaixado=true}
if keyboard_check_released(vk_down)
{abaixado=false}



//TROCA DE SPRITES

if parado=true && lado=0
{sprite_index=spr_p1_parado_direita image_xscale=-1}

if parado=true && lado=1
{sprite_index=spr_p1_parado_direita image_xscale=1}

if parado=false && lado=0  &&vspeed=0
{sprite_index=spr_p1_andando_direita image_xscale=-1}

if parado=false && lado=1  &&vspeed=0
{sprite_index=spr_p1_andando_direita image_xscale=1}


if pulo=true && lado=0
{sprite_index=spr_p1_pulando_direita
image_xscale=-1}

if pulo=true && lado=1
{sprite_index=spr_p1_pulando_direita
image_xscale=1}

na colisão com o chão :

Código:
move_contact_solid(direction,12)
vspeed=0

pulo=false

não deu certo? comente q eu tento resolver
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 25/07/2010
Número de Mensagens : 630
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuáriohttp://clubmaker.forumeiros.com

Re: Definir sprites dos players diferentes

em Dom 20 Mar 2011, 19:29
Cara se eu for fazer desse jeito vai deixar o jogo mto pesado, eu quero fazer um script só para todos os players. eu fiz mais to com problemas na troca de sprites.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum