Criar um sprite inGame.

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

Criar um sprite inGame.

Mensagem por diegoLuiz em Seg 17 Jun 2013, 10:44

Bom dia amigos, alguém saberia como executar essa operação?
Exemplo:
o Jogador tem vários sprites com vários estados, eu preciso a cada movimento do player criar um sprite com uma unica imagem; Essa image é um image_index do player naquele momento.
Esse sprite dinâmico (digamos assim) vai mudar a cada mudança do image_index do player.

diegoLuiz

Número de Mensagens : 67
Data de inscrição : 28/10/2012
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Criar um sprite inGame.

Mensagem por GameMakerTutoriais em Ter 18 Jun 2013, 21:26


Se você quiser que o objeto exiba uma única imagem e fique estático nela, você pode usar a variável "image_index" para escolher o frame de animação e, em seguida, parar a velocidade da animação com a variável "image_speed".

Código:
image_index = 5; // escolhe o sexto quadro de animação (conta de 0 a 5)
image_speed = 0; // para a animação.

Outra alternativa é usar a "image_single", que não é documentada no help, mas não é uma constante e pode ser alterada. Se mudada pra -1 ela atende à velocidade da animação dita pela image_speed, mas se for maior ou igual a zero, ela vai manter a animação estática no quadro que você definir.

Código:
image_single = -1; // toca toda a animação, de acordo com image_speed

Código:
image_single = 4; // vai parar a animação no quinto quadro (conta de 0 a 4)

Mas se eu entender sua pergunta ao pé da letra e pressupor que você queira, mesmo, criar um sprite novo a partir de um único quadro, você pode usar surfaces para desenhar o quadro desejado dentro dela e depois criar o seu novo sprite a partir da função "sprite_create_from_surface".

Boa sorte.

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Criar um sprite inGame.

Mensagem por saim em Qua 19 Jun 2013, 08:15

Obrigado pelo link! Smile
brendan640 escreveu:
Outra alternativa é usar a "image_single", que não é documentada no help, mas não é uma constante e pode ser alterada. Se mudada pra -1 ela atende à velocidade da animação dita pela image_speed, mas se for maior ou igual a zero, ela vai manter a animação estática no quadro que você definir.

Cara, como você consegue esse tipo de informação?
Se entendi direito, o image_single equivale a
Código:
image_index := ?;
image_speed := 0;
É isso?


Última edição por saim em Qua 19 Jun 2013, 16:14, editado 1 vez(es)

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Criar um sprite inGame.

Mensagem por GameMakerTutoriais em Qua 19 Jun 2013, 12:27


Acho que eu li isso num comentário do Vinians há muito tempo atrás, quando o fórum ainda usava o GM 5/6. Há muita coisa "escondida" no GM e, na época, abrimos um tópico pra falar disso. Essa variável era visível no debug mode desde o Game Maker 4, então, talvez ainda faça parte de alguma action, mas não sei confirmar...

saim escreveu:Se entendi direito, o image_single equivale a
Código:
image_index := ?;
image_speed := 0;
É isso?

Ela vai fazer a mesma coisa, mas não vai alterar o valor de image_index nem de image_speed.

GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Criar um sprite inGame.

Mensagem por Conteúdo patrocinado Hoje à(s) 21:07


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