[Duvida] Problema com spites, image_index

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

Resolvido [Duvida] Problema com spites, image_index

Mensagem por kadini em Ter 11 Set 2012, 08:27

Eu estava a programar a parte das sprites e surgiu-me um problema, imaginando a sprite tem 30 frames, e eu quando clicar numa tecla eu queria que ele executa-se a animação tuda e quando chega-se ao ultimo frame a imagem para-se (neste caso frame 29). eu fiz este codigo mas não dá a animação corre mas volta ao inicio.

Código:
if (keyboard_check(ord("A")))
{if !(sprite_index=spr_descer){sprite_index=spr_descer}
if (image_index=29){image_index=29}}

eu não consigo perseber qual é o problema, se alguem encontrar uma solução agradeço...


Última edição por kadini em Ter 11 Set 2012, 09:06, editado 1 vez(es)

kadini

Número de Mensagens : 192
Idade : 20
Data de inscrição : 02/03/2012
Reputação : 4
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: [Duvida] Problema com spites, image_index

Mensagem por Markituh em Ter 11 Set 2012, 08:40

Bom, é o seguinte: image_index é a atualizado a cada step baseado no image_speed, e como esta alteração ocorre antes do seu código (ou depois, vou fazer um benchmark no GM), essa linha aí praticamente não tem efeito.

Ao invés de fazer essa condição, use a pseudo-var image_single e defina-a como 0. Você pode mexer no image_speed também, mas tenho preferência pela anterior.
Código:
if (keyboard_check(ord("A")))
{
  if !(sprite_index=spr_descer)
  { sprite_index=spr_descer }
  image_single = 0
}
Depois, ao soltar, só é definir ela de volta como 1. Ao que o nome me sugere, salve-me o engano, essa variável controla a quantidade de frames que serão avançados a cada step.

Abraços e bom desenvolvimento!

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
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: [Duvida] Problema com spites, image_index

Mensagem por kadini em Ter 11 Set 2012, 08:51

era isso mesmo, mas tive de modar o codigo para ficar a funcionar como eu queria.... image_single vou me lembrar... para ocasiões futuras obrigado...^

Não existe algum codigo para desativar image_single?? eu estou a uzar isto

Código:
if (vspeed<1 and vspeed>-1){sprite_index=spr_parado}
if (vspeed>=1)
{
  if !(sprite_index=spr_descer)
  { sprite_index=spr_descer }
  if (image_index = 29){image_single = 29}
}

ele faz o que eu quero e quando muda para a spr_parado ele não executa amis a condição de baixo pq???

eu vou fazer mais uns teste mas se souberes a resposta agradeço Smile

EDIT:

Revolvi o problema mas não da maneira que eu queria Sad (o efeito é o mesmo mas a verdade é que a função image_index ganhou a batalha...)

Código:
if (vspeed>=1 and !(sprite_index=spr_descer_1))
{
  sprite_index=spr_descer
  if (image_index=29) {sprite_index=spr_descer_1}
 
}

tive de criar um sprite a parte com uma só imagem Sad

se alguem souber pode responder se não podem trancar o topico

kadini

Número de Mensagens : 192
Idade : 20
Data de inscrição : 02/03/2012
Reputação : 4
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: [Duvida] Problema com spites, image_index

Mensagem por vinians em Ter 11 Set 2012, 09:50

Amigo, tente assim:
Código:

if (keyboard_check(ord("A")))
{
  if !(sprite_index == spr_descer)
  {
    sprite_index = spr_descer
  }
  if (floor(image_index) == 29)
 {
    image_speed = 0;
    image_index = 29;
  }
}
Isso deve funcionar...
Flws!

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Resolvido Re: [Duvida] Problema com spites, image_index

Mensagem por kadini em Ter 11 Set 2012, 10:24

obrigado, pela logica deve estar bem.

floor(image_index) então as image_index podem ser numeros decimais???

o floor poem qualquer numero decimal em numero inteiro né???

só la para as 7 horas (PT) vou poder testar

kadini

Número de Mensagens : 192
Idade : 20
Data de inscrição : 02/03/2012
Reputação : 4
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: [Duvida] Problema com spites, image_index

Mensagem por Conteúdo patrocinado Hoje à(s) 06:42


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