Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[Resolvido]Problemas com sprites
3 participantes
Página 1 de 1
[Resolvido]Problemas com sprites
Eu estou com um problema com as sprites, as sprites não param de se mecher quando eu aperto a tecla exemplo: qdo eu aperto espaço ele pula dando pirueta mais depois ele não para mais e mesma coisa se eu andar ele não para de reprodurir a sprite sem parar, eu to usando esse código no Step:
Esse é o vídeo mostrando como fica !
- Código:
/****************************** GRAVIDADE ******************************/
if place_free(x,y+2){gravity=1}
else // Senão
gravity=0
// Limitar a velocidade vertical
if vspeed>12 {vspeed=12}
/***************************** MOVIMENTANDO *****************************/
// Direita
if keyboard_check(vk_right)
{
sprite_index = spr_direita
if place_free(x+5,y){x+=5}
}
//Esquerda
if keyboard_check(vk_left)
{
sprite_index = spr_esquerda
if place_free(x-5,y){x-=5}
}
//Pulo
if keyboard_check_pressed(vk_space)
{
sprite_index = spr_pulo
if !place_free(x,y+2){vspeed=-15}
}
Esse é o vídeo mostrando como fica !
Última edição por X-Games em Qui 19 Ago 2010, 15:28, editado 1 vez(es)
Re: [Resolvido]Problemas com sprites
Coloca na colisão dele com o chão:
Acho que é isso! xD
- Código:
sprite_index = sprite dele parado;
Acho que é isso! xD
Luan Maia- Games Ranking :
Notas recebidas : D+C+C+D
Data de inscrição : 01/07/2010
Reputação : 2
Número de Mensagens : 404
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Resolvido]Problemas com sprites
Amigo, vc vai mes desculpar, mas para um jogo de plataforma esse movimento esta "RUIM".
Usa esse:
Primeiro crie um sprite dele parado que será o spr_player_mask
ai no obj_player coloque o mask: spr_mask_player.
no create do player coloque assim:
No step:
na colisao dele com o chao coloque:
Ai, coloca os nomes de suas sprites! ((ARRUMA)) o nome delas.
concerteza esse não irá travar!
Usa esse:
Primeiro crie um sprite dele parado que será o spr_player_mask
ai no obj_player coloque o mask: spr_mask_player.
no create do player coloque assim:
- Código:
image_speed=0.5; //É 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 dela 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.
No step:
- Código:
if (place_free(x,y+1)) //Checa se 1 pixel abaixo está vazio, ou seja, 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=-8; noar=true; //Se for verdade, velocidade vertical se torna 5 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 velocidadevertical do personagem possui um valor maior que 12.
vspeed=12; //Se tiver, 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-3,y)) //Checa se a tecla de direção esquerda está sendo pressionada, se a tecla direita NÃO está sendo pressionada e se tem 3 pixels de espaço à esquerda.
{x-=3.5; lado=0; andando=true; parado=false; //Caso a expressão acima seja verdadeira, o personagem se move 3 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+3,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 3 pixels à direita livre.
{x+=3.5; lado=1; andando=true; parado=false; //A mesma coisa do evento anterior. A única coisa que muda é que aqui o personagem se move 3 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=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=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=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=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=pulo_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=pulo_esq; //O sprite do personagem se torna o sprute dele pulando para a esquerda.
}
}
na colisao dele com o chao coloque:
- Código:
move_contact_solid(direction,12);
vspeed=0;
Ai, coloca os nomes de suas sprites! ((ARRUMA)) o nome delas.
concerteza esse não irá travar!
Re: [Resolvido]Problemas com sprites
Você resolvel o problema o pulo qdo ele colide com o chão ele para ! mais ainda esta reproduzindo a sprite de andar sem parar.
Re: [Resolvido]Problemas com sprites
Lima Loko brigadão você mim ajudou muito, muito mesmo ! agora eu sou seu fãn ! pow cara nunca pensei que alguem poderia mim ajudar tanto assim ! funcionou perfeitamente !
Re: [Resolvido]Problemas com sprites
Nussa cara! Denada, Estamos aqui para isso!
então ja que tenho alguém como fã, vou fazer uma assinatura
então ja que tenho alguém como fã, vou fazer uma assinatura
Tópicos semelhantes
» [RESOLVIDO]Problemas com mudança de sprites
» Problemas com sprites!
» problemas com as sprites
» problemas com sprites em variaveis array
» Problemas com sprites depois da atualização 1.1
» Problemas com sprites!
» problemas com as sprites
» problemas com sprites em variaveis array
» Problemas com sprites depois da atualização 1.1
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos