[Resolvido]Checando posição do sprite

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Resolvido]Checando posição do sprite

Mensagem por Franklin Torres em Ter 12 Out 2010, 10:50

Olá galera. Estou programando um jogo no estilo de Goof Troop e me veio uma dúvida: relacionar uma ação a um sprite. Como eu declaro um sprite e relaciono um if a ele? Segue o código:

if (keyboard_check_pressed(vk_space))
{

if (SPRITE DO PERSONAGEM FOR LEFT)
{
move_towards_point( x-1, y, 8 );
}
else if (SPRITE DO PERSONAGEM FOR RIGHT)
{
move_towards_point( x+1, y, 8 );
}
else if (SPRITE DO PERSONAGEM FOR UP)
{
move_towards_point( x, y-1, 8 );
}
else if (SPRITE DO PERSONAGEM FOR DOWN)
{
move_towards_point( x, y+1, 8 );
}
}

Como declarar o sprite? Agradeço desde já.


Última edição por Franklin Torres em Ter 12 Out 2010, 13:26, editado 1 vez(es)

Franklin Torres

Número de Mensagens : 6
Idade : 26
Data de inscrição : 02/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Checando posição do sprite

Mensagem por Alex FC em Ter 12 Out 2010, 10:54

Você coloca assim, usando a variável sprite_index:

Código:
if sprite_index=nome_do_sprite
{
x+=5
}

Você não precisa declarar a sprite se ela ja está no gmk. Vlw?

Espero ter ajudado...

FLWS!

Alex FC

Ranking : Nota A
Número de Mensagens : 2503
Idade : 23
Data de inscrição : 20/12/2008
Notas recebidas : B A
Reputação : 174
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 1
   : 1

http://redscreensoft.blogspot.com

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Checando posição do sprite

Mensagem por Franklin Torres em Ter 12 Out 2010, 11:11

Valeu ae Alex, mas infelizmente naum funcionou. :|

Franklin Torres

Número de Mensagens : 6
Idade : 26
Data de inscrição : 02/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Checando posição do sprite

Mensagem por vitor_liminha123 em Ter 12 Out 2010, 12:10

Cara, como assim não funcionou? Esse é oc código de adivinhar a sprite, se não funcionou, você fez errado meu amigo, oq o Alex FC te passou, está totalmente correto. :/ (acho q vc pois em lugar errado, ouesqueceu algo, sei lá mew...)

vitor_liminha123

Número de Mensagens : 510
Idade : 18
Data de inscrição : 16/08/2010
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.newgrounds.com/tanber

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Checando posição do sprite

Mensagem por Fuzenrad em Ter 12 Out 2010, 12:19

Uma coisa que você deve ter muito cuidado é com a organização do código, a chamada identação, que é tornar o código mais legível possível, a outra coisa é abrir chaves no else também, pois o programa não sabe que é pra executar um conjunto de funções, sem as chaves ele vai executar somente a linha seguinte. Por exemplo

Código:
if <condição>
vidas+=1;
instance_destroy()
No caso, sempre o objeto será destruído, indiferente da condição, pois ele só executa o "vidas+=1;", a correção seria:

Código:
if <condição> {
vidas+=1;
instance_destroy() }

Voltando ao seu problema, como o Alex disse, basta usar o sprite_index:

Código:
if keyboard_check_pressed(vk_space) {
  if sprite_index=pers_esquerda
  {
      move_towards_point( x-1, y, 8 );
  }
      else {
        if sprite_index=pers_direita
        {
          move_towards_point( x+1, y, 8 );
        }}
            else {
              if sprite_index=pers_cima
              {
                move_towards_point( x, y-1, 8 );
              }
                else {
                  if sprite_index=pers_baixo
                  {
                    move_towards_point( x, y+1, 8 );
                  }}}

Fuzenrad

Ranking : Nota A
Número de Mensagens : 1026
Idade : 26
Data de inscrição : 04/07/2010
Notas recebidas : A-A-A-A-B
Reputação : 41
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Checando posição do sprite

Mensagem por Franklin Torres em Ter 12 Out 2010, 12:58

Valeu ae galera, funcionou aqui. Tinha dado errado por que eu estava programando o código dentro do objeto e não do personagem. Ae eu coloquei assim e deu certo:

if (keyboard_check_pressed(vk_space))
{
if personagem.sprite_index = esquerda
{
move_towards_point( x-1, y, 8 )
}
else if personagem.sprite_index = direita
{
move_towards_point( x+1, y, 8 );
}
else if personagem.sprite_index = cima
{
move_towards_point( x, y-1, 8 );
}
else if personagem.sprite_index = baixo
{
move_towards_point( x, y+1, 8 );
}
}

Obrigado Alex FC, vitor_liminha123, Fuzenrad.

Franklin Torres

Número de Mensagens : 6
Idade : 26
Data de inscrição : 02/08/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Resolvido]Checando posição do sprite

Mensagem por Conteúdo patrocinado Hoje à(s) 00:09


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum