Duvida sobre uma função!

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

Duvida sobre uma função!

Mensagem por Sldconde em Ter 23 Nov 2010, 16:39

Ola, alguem poderia iluminar meu caminho? Criei duas sprites e quero exibi-las na área do jogo da seguinte forma: ela aparece, eu clico com o botão esquerdo do mouse e ela mudará para outra sprite e assim ela ficará mudando sempre que eu clicar. Criei o objeto com a primeira sprite(spr_SpriteFrente), no Add EVent coloquei Left Pressed e no actions um execute code com a seguinte função:
draw_sprite(spr_SpriteVerso, 0, 50, 50), (o nome da segunda sprite seria spr_SpriteVerso)
coloquei o objeto na room, mas na hora de executar a sprite que eu coloquei como imagem do objeto(spr_SpriteFrente) aparece, mas a outra, não aparece com o click do mouse. Alguem poderia apontar o meu erro, ficaria muito grato! Obrigado!

Sldconde

Número de Mensagens : 16
Idade : 35
Data de inscrição : 31/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida sobre uma função!

Mensagem por Markituh em Ter 23 Nov 2010, 17:19

Mano, o correto seria usar sprite_index, e não draw_sprite. Aí, você checava em que sprite tava, e mudava:
Código:
if sprite_index = spr_SpriteFrente
sprite_index = spr_SpriteVerso
if sprite_index = spr_SpriteVerso
sprite_index = spr_SpriteFrente

___________

"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

Re: Duvida sobre uma função!

Mensagem por Sldconde em Ter 23 Nov 2010, 17:31

Markituh, seria muito abuso da minha parte se eu te perguntasse pra que serve o sprite_index?? E não teria que dar algum comando pra exibir a Sprite em algum lugar desse comando?

Sldconde

Número de Mensagens : 16
Idade : 35
Data de inscrição : 31/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida sobre uma função!

Mensagem por Markituh em Ter 23 Nov 2010, 17:33

Sprite_index é para trocar a sprite do objeto, enquanto o draw_sprite, é para desenhar num lugar da tela, entendeu? Qualquer outra coisa, eu respondo depois, ou outro alguém responde, porque vou sair agora, depois venho.

Abraços!

___________

"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

Re: Duvida sobre uma função!

Mensagem por Sldconde em Ter 23 Nov 2010, 17:34

Vlw! Obrigado!

Sldconde

Número de Mensagens : 16
Idade : 35
Data de inscrição : 31/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida sobre uma função!

Mensagem por dharrison em Ter 23 Nov 2010, 17:57

Adicione um evento Create, nele coloque:
Código:
defrente = true //essa variável vai determinar se a carta está virada para frente ou não. True para Sim, False para Não.
//OBS: Só coloque true no evento create, se a carta começa o jogo de frente, caso contrário coloque false

tente colocar o seguinte no Piece of Code do Mouse Pressed:
Código:
if defrente = true //SE a carta estiver de frente quando o mouse clicar
{
sprite_index = spr_SpriteVerso //Muda sprite para carta verso
defrente = false //A carta não está mais de frente
break; /*Essa função serve para parar a execução do código,
pode-ser que ela de um bug, mas coloquei ela pra evitar
que a carta fique virando infinitamente, qualquer problema me avise.*/
}

if defrente = false //SE a carta stiver virada quando o mouse clicar...
{
sprite_index = spr_SpriteFrente
defrente = true
break;
}

Não testei.
Me diga os resultados.

-----
Uhul, fechando 50 msg com um post útil pra outra pessoa lol!


EDIT:
Testei, o método funciona adequadamente.
Eis um arquivo .exe para você ver como ficou:
vira_carta.exe


Última edição por dharrison em Ter 23 Nov 2010, 19:19, editado 1 vez(es) (Razão : adicionando informações úteis ao criador do tópico)

dharrison

Ranking : Nota B
Número de Mensagens : 1243
Idade : 25
Data de inscrição : 04/02/2009
Notas recebidas : A - B
Reputação : 89
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida sobre uma função!

Mensagem por Henrique_GJ em Ter 23 Nov 2010, 18:48

Markituh escreveu:Mano, o correto seria usar sprite_index, e não draw_sprite. Aí, você checava em que sprite tava, e mudava:
Código:
if sprite_index = spr_SpriteFrente
sprite_index = spr_SpriteVerso
if sprite_index = spr_SpriteVerso
sprite_index = spr_SpriteFrente

rsrs isso jamais daria certo a não ser que um BUG do GM fizesse o codigo funcionar huahuahua

vc deve usar else pra fazer isso aí se não vai ser sempre spritefrente e nunk vai mudar

vc deve colocar:

if sprite_index = spr_SpriteFrente
{sprite_index = spr_SpriteVerso}
else
{sprite_index = spr_SpriteFrente}

faça o teste qualquer hora que tiver a oportunidade que vc vai entender o que quero dizer

e acho que não é isso que o camarada que fez o topico quer

pra ser sincero nem entendi vou ler deonovo quem sabe eu num entenda XD

Henrique_GJ

Número de Mensagens : 1344
Idade : 19
Data de inscrição : 30/12/2009
Reputação : 4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://sitedosjogos.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Duvida sobre uma função!

Mensagem por dharrison em Ter 23 Nov 2010, 19:12

Henrique_GJ

nem com ELSE funcionou
mas isso que você postou tbm tbm não

O que ele quer é que cada vez que o mouse clicar na carta virar ela.

To testando aki, logo do um edit pra corrigir as coisas


EDIT:
O método que eu passei pra ele funciona sim, eu que tinha feito o teste errado. Não tinha usado Mouse Press.
Vou upar um EXE mostrando o funcionamento no post acima.

dharrison

Ranking : Nota B
Número de Mensagens : 1243
Idade : 25
Data de inscrição : 04/02/2009
Notas recebidas : A - B
Reputação : 89
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 0
   : 1
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida sobre uma função!

Mensagem por Sldconde em Ter 23 Nov 2010, 23:29

Muito obrigado pela ajuda de todos, dharrison, sua logica funcionou, era isso mesmo que eu queria.

TOPICO RESOLVIDO!!

Abs, até a proxima dúvida! Vlw!!

Sldconde

Número de Mensagens : 16
Idade : 35
Data de inscrição : 31/05/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Duvida sobre uma função!

Mensagem por Conteúdo patrocinado Hoje à(s) 15:24


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