GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21


Mudar SPRITE ou OBJETO de acordo com uma variável

5 participantes

Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por leandroferro Qua 05 Set 2012, 14:40

Olá,
Então estou com um pequeno probleminha..
Eu crie no meu TDS um variável ammo. E criei um objeto obj_ammo para desenhar em determinado ponto este sprite na tela, porém eu queria mudar este sprite de acordo com a mudança da variável ammo, assim ammo = 25 a sprite mostra todas as balas, mas ammo=24 mostra uma bala a menos ou seja outra sprite.. Alguém tem alguma idéia de como fazer isso??

Obrigado desde já;
leandroferro
leandroferro

Data de inscrição : 03/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por cascavelo Qua 05 Set 2012, 14:53

Use image_index=ammo,
sendo que o primeiro desenho dos frames do sprite deve ser vazio, ou use ammo+1 no caso do primeiro frame ter o desenho de uma bala.

Você terá que fazer um sprite com 25 desenhos.
cascavelo
cascavelo

Games Ranking : Nota A

Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Reputação : 71
Número de Mensagens : 1011
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por luiz_eldorado Qua 05 Set 2012, 14:58

Código:
for(i=0;i<ammo;i+=1) {
draw_sprite(spriteDaBala,0,x+(i*16),y);
}
Try it!
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://luizpontes.tk/

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por leandroferro Qua 05 Set 2012, 17:29

Ok, entendido, mas desculpe a ignorância luiz_eldorado onde eu ponho este código em qual event??
Eu não entendi bem cascavelo em relação ao image_index=ammo, eu tipo coloco criar sprite e em sprite = ammo, tipo ammo = 25 e image = 25, ammo 24 e image = 24?? Seria certo...
leandroferro
leandroferro

Data de inscrição : 03/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por theguitarmester Qua 05 Set 2012, 18:37

não é o melhor o que o Cascavelo disse(dependendo para que quer), Mas foi o que você pediu, então está certo.

o Luiz_eldorado falou um jeito para desenhar na Tela, o número de balas que você tem, por icones, isto é, não o Número.
e Coloque no Draw.
theguitarmester
theguitarmester

Games Ranking : Nota C

Notas recebidas : B + C
Data de inscrição : 28/02/2012
Reputação : 139
Número de Mensagens : 2211
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 2 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Plataformas :
  • Unity


http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por luiz_eldorado Qua 05 Set 2012, 18:59

No Draw Event.
Acho que o que o cascavelo quis dizer é criar uma subimagem pra cada quantidade de balas, mas acho que isto irá pesar muito no seu jogo (não em velocidade, mas no tamanho do exe).
theguitarmester, se quiser colocar o numero é só por num draw_text.
luiz_eldorado
luiz_eldorado

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 30/07/2011
Reputação : 47
Número de Mensagens : 928
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://luizpontes.tk/

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por cascavelo Qua 05 Set 2012, 20:26

Eu não entendi bem cascavelo em relação ao image_index=ammo, eu tipo coloco criar sprite e em sprite = ammo, tipo ammo = 25 e image = 25, ammo 24 e image = 24?? Seria certo...

Não, você usa assim mesmo, coloca no step, pode usar também aquele icone "Change sprite" a subimage é a variável ammo e a velocidade é zero, só que você teria o trabalho de fazer um sprite com 25 imagens pras balas.

A diferença de usar draw e usar este método é:

com draw - você só precisa de um desenho da bala e necessita saber o tamanho dele pra espaçar corretamente. É o método mais rápido e o arquivo será menor.

Com sprite_index, image_index - Você tem que desenhar todas as imagens antes, mas tem mais flexibilidade pra animar pois cada imagem é diferente uma da outra. Você pode fazer um trabalho mais artístico.É mais demorado e o arquivo será maior. Só recomendo este método se você tiver dons artísticos.

É bom compreender os dois métodos.
cascavelo
cascavelo

Games Ranking : Nota A

Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Reputação : 71
Número de Mensagens : 1011
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por moisesBR Qua 05 Set 2012, 20:41

Se ainda não entendeu, vamos ver ao meu modo:

Há três modos de você fazer isso:
1- um sprite de cada fase(creio que fez isso)
2- um sprite contendo vários frames(todas imagens)
3- um só sprite que será desenhado conforme o valor a variável

A opção 2 pra mim é a melhor.
Se não criou, crie um obj_ammo com a imagem inicial e e coloque na room onde
bem quiser e no seu steep:
Código:
sprite_index=spr_ammo image_speed=0 image_index=25
Ou tentaria isso(pode dar certo):
Código:
sprite_index=spr_ammo image_speed=0 image_index=ammo
a variável ammo é que vai dizer qual imagem será mostrada!

Se quiser, adicione isto no create ou steep:
Código:
x=10 y=10
para definir onde vai ficar na tela! No caso estou mandando para cima a esquerda. Para seguir a tela coloque algo tipo
Código:
view_xview=10 e view_yview=10
(É claro que neste caso a view deve estar ativado)

Pra opções 1 e 3 dá trabalho pra cacilds!!! mas se quiser, os camaradas lhe ajudarão.
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por leandroferro Qui 06 Set 2012, 14:09

Obrigado a todos,
Porém uma dúvida MoisesBR a variavel ammo está no object char e você está pedindo para eu criar um novo objeto ammo, como o objt_ammo perceberia que tem de mudar a sprite e a variável está em outro objeto???
leandroferro
leandroferro

Data de inscrição : 03/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por cascavelo Qui 06 Set 2012, 14:33

Para usar variáveis de outros objetos é só colocar o nome dele com um ponto e a variável. A instância do objeto char tem que existir sempre, se você a destruir dará erro, se este for o caso faça a variável ammo como global e pode utiliza-la em qualquer objeto.
assim:
image_index=obj_char.ammo
ou assim:
image_index=global.ammo

Procure aprender sobre variáveis globais.
cascavelo
cascavelo

Games Ranking : Nota A

Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Reputação : 71
Número de Mensagens : 1011
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 2 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por leandroferro Qui 06 Set 2012, 15:02

Então sabem o que aconteceu?

Meu char transformou-se no sprite da ammo??? E se eu coloco no o change sprite no obj_ammo ele ignora a informação de atirar e ter de mudar o sprite.


A parte boa é que deu certo colocando a informação no step do char, a parte ruim é que alterou o char, tem como mudar isso??
leandroferro
leandroferro

Data de inscrição : 03/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por moisesBR Qui 06 Set 2012, 19:33

Kkkkkkkkk!

Parece que vc está usando um draw sprite!
O ruim de mudar de objeto com um change, é que os codes não vão também... Por isso, adotei o sprite index

Voce devia ter um objeto ammo! Assim os codes só vão mexer nele e voce pode até modifica-los através de outro objeto como o char, coisa que é possivel usando um with! Exemplo:
with(obj_ammo) + codes

Tente no novo obj_mmo, num evento draw ou steep:
Código:
sprite_index=spr_ammo image_speed=0 image_index=obj_ammo.ammo

Non deu? adapte! Só tô falando porque consegui isso em último cas....mas em últimpo meeesmo nois faiz uma engine pro C.

"tente outra vez"
moisesBR
moisesBR

Data de inscrição : 24/10/2009
Reputação : 15
Número de Mensagens : 885
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1


http://inprovise.blogspot.com/

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por leandroferro Seg 10 Set 2012, 10:48

Perfeito funcionou, obrigado. Logo eu posto o resultado..Abraços

Pode fechar Moderador
leandroferro
leandroferro

Data de inscrição : 03/09/2012
Reputação : 0
Número de Mensagens : 14
Prêmios : Mudar SPRITE ou OBJETO de acordo com uma variável Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Mudar SPRITE ou OBJETO de acordo com uma variável Empty Re: Mudar SPRITE ou OBJETO de acordo com uma variável

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos