Conectar-se
Quem está conectado
32 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 32 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Seg 09 Nov 2009, 17:22
Ajudem-me por favor.
Data de inscrição : 29/05/2009
Número de Mensagens : 351
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Seg 09 Nov 2009, 17:24
if round(image_index) == image_number
{
image_index = image_number
}
avatar
Data de inscrição : 24/05/2008
Número de Mensagens : 2417
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 14

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Seg 09 Nov 2009, 18:30
Bom, isso pode até funcionar, mas recomendo você adicionar o seguinte codigo:

Código:
if round(image_index) == image_number
{
image_index = image_number;
image_speed = 0;
}

image_speed = 0 vai fazer parar de avançar as imagens como se tivesse pausado a animação.
Para a animação funcionar dinovo basta setar a velocidade assim:
Código:
image_speed = 0.2; //ou outro valor

flwss
Data de inscrição : 05/10/2009
Número de Mensagens : 199
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://animanga-games.forumeiros.com/

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Seg 09 Nov 2009, 19:29
sei que a duvida não é minha mais poderia explicar o image_number?
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Seg 09 Nov 2009, 21:47
É uma variável com o numero de imagens que o sprite do objeto tem e o esse numero é sempre o valor do ultimo frame.
Por isso ele o usou no exemplo.
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Seg 09 Nov 2009, 22:39
Obrigado pessoal!
Convidad
Convidado

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qua 11 Nov 2009, 21:46
Lá na janela de propriedades dos objetos, há um evento chamado "Animation End". Esse evento é o que usamos para controlar animações dentro do Game Maker. É o modo mais rápido e fácil.

Coloque essa linha de código neste evento:

Código:
image_index := (image_number - 1);
image_speed := 0;

Toda vez que uma animação chegar ao final, ela vai parar no último quadro. Você poderia colocar uma condição de qual sprite isso deveria acontecer... o que resultaria no controle propriamente dito.

Você também poderia usar:

Código:
image_index := (image_number - 1);
image_single := image_index;

Lembrando que a variável image_single não é documentada no help, então:

1 - Toda vez que o valor de image_single for maior que (-1), a instância usará somente o quandro informado por esta variável.

2 - Toda vez que image_single for igual à (-1), a instância passará a usar todos os quadros disponíveis do sprite.

Boa sorte!
Capitão Commando.


Última edição por Capitão Commando em Qui 12 Nov 2009, 22:39, editado 2 vez(es)
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qua 11 Nov 2009, 21:54
Só lembrando uma coisa importante...
image_number retorna o número de imagem contando a partir do 1, já no image_index o primeiro frame é o 0 então para isso realmente funcionar devia ficar assim:
Código:
image_index = image_number-1;
avatar
Data de inscrição : 07/11/2009
Número de Mensagens : 88
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qua 11 Nov 2009, 22:19
Usei esses codigos que postaram ai bem legal,tomara que tenha ti ajudado tambem
Convidad
Convidado

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qua 11 Nov 2009, 23:23
Kabeção escreveu:Só lembrando uma coisa importante...
image_number retorna o número de imagem contando a partir do 1, já no image_index o primeiro frame é o 0 então para isso realmente funcionar devia ficar assim:
Código:
image_index = image_number-1;

Boa observação Kabeção! Eu corrigí lá, valeu pelo toque. [Z¬)]
avatar
Data de inscrição : 28/01/2010
Número de Mensagens : 136
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 5

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qui 28 Jan 2010, 23:20
Valeu!
Esse tópico me ajudo muito pois meu carinha não parava de reproduzir as subimagens e agora deu certo
Valeu mesmo! What a Face
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qui 28 Jan 2010, 23:54
Nem tinha lembrado mais desse tópico, valeu galera, agora sei tudo sobre o assunto!

Bye
avatar
Data de inscrição : 04/02/2010
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qua 17 Fev 2010, 11:43
Pessoal, desculpe perguntar, mas da pra dar um exemplo claro usando esse comando, pq tb estou com o mesmo problema e nao consigo fazer o sprite parar.
Ja vo postar como esta o meu problema pq se alguem souber ja me ajuda ok,
primeiro tem o meu inimigo q tem os sprites de movimentos e tal funcionando certinho, mas quando ele morre, tem um sprite de animaçao da morte com 3 imagens, eu quero q quando ele morrer pare na ultima imagem desse sprite com o inimigo morto no chao, mas quero q mostre as 3 imagens em sequencia pq com esse codigo ai de cima só mostra o inimigo vivo e quando morre ja mostra ele no chao, nao tem a animação dele caindo e quase no chao e depois no chao, ja aparece direto no chao.
E aproveitando o momento gostaria de saber como colocar um atraso em uma determinada sprite por um tempo maior do que outra tem como fazer isso?
Grato aguardo resposta
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 06/07/2008
Número de Mensagens : 247
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qua 17 Fev 2010, 17:15
mancha escreveu:Pessoal, desculpe perguntar, mas da pra dar um exemplo claro usando esse comando, pq tb estou com o mesmo problema e nao consigo fazer o sprite parar.
Ja vo postar como esta o meu problema pq se alguem souber ja me ajuda ok,
primeiro tem o meu inimigo q tem os sprites de movimentos e tal funcionando certinho, mas quando ele morre, tem um sprite de animaçao da morte com 3 imagens, eu quero q quando ele morrer pare na ultima imagem desse sprite com o inimigo morto no chao, mas quero q mostre as 3 imagens em sequencia pq com esse codigo ai de cima só mostra o inimigo vivo e quando morre ja mostra ele no chao, nao tem a animação dele caindo e quase no chao e depois no chao, ja aparece direto no chao.
E aproveitando o momento gostaria de saber como colocar um atraso em uma determinada sprite por um tempo maior do que outra tem como fazer isso?
Grato aguardo resposta

Bom isso é muito simples

no evento create coloque o velocidade da animação
por exemplo: image_speed = 0.3
no objeto inimigo add o evento animation end
coloque em code:

image_index = 2 // o valor 2 corresponde a 3º imagem do seu inimigo
image_speed = 0

espero que isso resolva...


Última edição por Fabião em Qua 17 Fev 2010, 19:56, editado 1 vez(es)
avatar
Data de inscrição : 04/02/2010
Número de Mensagens : 9
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

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

Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?

em Qua 17 Fev 2010, 18:14
ok, valeu amigo, ajudou sim!!!
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