Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
+5
Kabeção
TiagoBonadio
Janx
dungeon333
fonetico
9 participantes
Página 1 de 1
Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
Ajudem-me por favor.
fonetico- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
if round(image_index) == image_number
{
image_index = image_number
}
{
image_index = image_number
}
dungeon333- Data de inscrição : 29/05/2009
Reputação : 0
Número de Mensagens : 351
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
Bom, isso pode até funcionar, mas recomendo você adicionar o seguinte codigo:
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:
flwss
- 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
Janx- Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios :
x 0 x 0 x 0
x 0 x 2 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
sei que a duvida não é minha mais poderia explicar o image_number?
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
É 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.
Por isso ele o usou no exemplo.
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
Obrigado pessoal!
fonetico- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
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:
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:
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.
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)
Convidad- Convidado
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
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:
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;
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
Usei esses codigos que postaram ai bem legal,tomara que tenha ti ajudado tambem
AlexandreCR- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 88
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
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¬)]
Convidad- Convidado
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
Valeu!
Esse tópico me ajudo muito pois meu carinha não parava de reproduzir as subimagens e agora deu certo
Valeu mesmo!
Esse tópico me ajudo muito pois meu carinha não parava de reproduzir as subimagens e agora deu certo
Valeu mesmo!
bootzin- Data de inscrição : 28/01/2010
Reputação : 5
Número de Mensagens : 136
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
Nem tinha lembrado mais desse tópico, valeu galera, agora sei tudo sobre o assunto!
Bye
Bye
fonetico- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
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
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
mancha- Data de inscrição : 04/02/2010
Reputação : 0
Número de Mensagens : 9
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
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)
Fabião- Games Ranking :
Notas recebidas : B
Data de inscrição : 06/07/2008
Reputação : 3
Número de Mensagens : 255
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como faço para que quando a imagem de um sprite chegar no final, ela para no último quadro?
ok, valeu amigo, ajudou sim!!!
mancha- Data de inscrição : 04/02/2010
Reputação : 0
Número de Mensagens : 9
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Como eu faço para quando o score chegar a 500 ganhar uma vida?
» como faço para meu personagen trocar de sprite quando pula e volta ao normal quando toca no solo?
» Como faço para que, quando uma imagem for selecionada, ela abra no game?
» [Resolvido]como fazer que quando o objeto vá para cima ele mude de sprite e quando ele caia ele mude para outro sprite ?
» como faço pra quando a pontuação chegar a 100 acrescentar uma vida ao player ?
» como faço para meu personagen trocar de sprite quando pula e volta ao normal quando toca no solo?
» Como faço para que, quando uma imagem for selecionada, ela abra no game?
» [Resolvido]como fazer que quando o objeto vá para cima ele mude de sprite e quando ele caia ele mude para outro sprite ?
» como faço pra quando a pontuação chegar a 100 acrescentar uma vida ao player ?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos