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
» player não consegue andar
por 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

» (Resolvido) 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

» (RESOLVIDO) 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


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