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

Nenhum

Ver toda a lista


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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Criar um sprite inGame.

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.
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

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

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

Re: Criar um sprite inGame.

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.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Criar um sprite inGame.

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)
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

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

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

Re: Criar um sprite inGame.

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.
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