Conectar-se
Quem está conectado
28 usuários online :: 4 usuários cadastrados, Nenhum Invisível e 24 Visitantes

Katerp, PedroX, rafaelviodres1, Willy

Ver toda a lista


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

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

Mudar SPRITE ou OBJETO de acordo com uma variável

em 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á;
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

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

Prêmios
   : 1
   : 2
   : 1
Ver perfil do usuário

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

em 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.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

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

em 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!
avatar
Data de inscrição : 03/09/2012
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

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

em 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...
avatar
Ranking : Sem avaliações
Notas recebidas : B
Data de inscrição : 28/02/2012
Número de Mensagens : 1908
Insígnias de JAM :

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

Prêmios
   : 2
   : 2
   : 1
Ver perfil do usuáriohttp://guitarmester.no.comunidades.net/index.php?pagina=19362978

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

em 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.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 30/07/2011
Número de Mensagens : 928
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuáriohttp://luizpontes.tk/

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

em 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.
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

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

Prêmios
   : 1
   : 2
   : 1
Ver perfil do usuário

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

em 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.
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

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

em 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.
avatar
Data de inscrição : 03/09/2012
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

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

em 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???
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

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

Prêmios
   : 1
   : 2
   : 1
Ver perfil do usuário

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

em 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.
avatar
Data de inscrição : 03/09/2012
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

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

em 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??
avatar
Data de inscrição : 24/10/2009
Número de Mensagens : 873
Insígnias de JAM :

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

Prêmios
   :
   :
   :
Ver perfil do usuáriohttp://inprovise.blogspot.com/

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

em 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"
avatar
Data de inscrição : 03/09/2012
Número de Mensagens : 14
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuário

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

em Seg 10 Set 2012, 10:48
Perfeito funcionou, obrigado. Logo eu posto o resultado..Abraços

Pode fechar Moderador
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