Image_index bug

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

Image_index bug

Mensagem por namikazealexandre em Dom 17 Nov 2013, 11:28

Bom, estou fazendo um jogo a la tetris e pus esse codigo no script de movimentação dos blocos, e pus o script no step event:



Código:

if keyboard_check(vk_up) {
  if (image_index < image_number){
      image_index = image_index + 1;  //Passa para a prox. imagem caso nao seja a ultima
  }
  else {
        image_index = 0;  // Se for a ultima, volta pra primeira
  } 
}
Sendo que sao 1 sprite para cada bloco e em cada sprite tem o bloco em todas as suas rotações possiveis. Daí, quando é pressionado UP, o esperado é que mude de imagem do sprite.
Porém de vez em quando, dá um bugzinho, ou o sprite nao muda de imagem, ou muda 2 vezes seguidas.
Alguém tem alguma sugestão de como concertar?Question 

namikazealexandre

Número de Mensagens : 52
Data de inscrição : 31/05/2013
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

Re: Image_index bug

Mensagem por NPH em Dom 17 Nov 2013, 11:33

Tenho uma sim:
Código:
if keyboard_check_pressed(vk_up) {
  if (image_index < image_number-1){
      image_index += 1;  //Passa para a prox. imagem caso nao seja a ultima
  }
  else {
        image_index = 0;  // Se for a ultima, volta pra primeira
  }
}
Acho que resolverá seu problema.

NPH

Ranking : Nota B
Número de Mensagens : 452
Idade : 22
Data de inscrição : 28/11/2010
Notas recebidas : B
Reputação : 32
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Image_index bug

Mensagem por Alex FC em Dom 17 Nov 2013, 11:35

off: Ninja, você é um NINJA! Mas fica meu post aqui...

Você usou keyboard_check que ocorre enquanto você mantem a tecla pressionada. Então caso você repouse o dedo sobre a tecla por meio segundo, seu código será executado 15 vezes (Caso a velocidade da room seja 30 quadros por segundo).

Basta usar a função keyboard_check_pressed, que isso ocorre apenas no primeiro frame de apertar a tecla, e só volta a ocorrer após soltar e teclar novamente:

Código:
if keyboard_check_pressed(vk_up)
{
    if (image_index < image_number)
    {
       image_index += 1;
    }
   else
   {
        image_index = 0;
   }  
}
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

Re: Image_index bug

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


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

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


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