Conectar-se
Quem está conectado
17 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 15 Visitantes

Willy, Zero.

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 02/08/2010
Número de Mensagens : 6
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

[Resolvido]Checando posição do sprite

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)
avatar
Ranking : Nota A
Notas recebidas : B A
Data de inscrição : 20/12/2008
Número de Mensagens : 2516
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://redscreensoft.blogspot.com

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

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!
avatar
Data de inscrição : 02/08/2010
Número de Mensagens : 6
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

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

em Ter 12 Out 2010, 11:11
Valeu ae Alex, mas infelizmente naum funcionou. :|
avatar
Data de inscrição : 16/08/2010
Número de Mensagens : 510
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.newgrounds.com/tanber

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

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...)
avatar
Ranking : Nota A
Notas recebidas : A-A-A-A-B
Data de inscrição : 04/07/2010
Número de Mensagens : 1027
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

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

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 );
                  }}}
avatar
Data de inscrição : 02/08/2010
Número de Mensagens : 6
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

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

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.
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