Página 1 de 1
Draw em cada Instance
Enviado: Qui Nov 03, 2016 11:11 am
por kzards
Oi gente, estou com um probleminha envolvendo Draw e Instances.
Crie dois objetos, um objeto chamado obj_dano e um chamado objeto_controle
Create do Controle coloquei
No step
Código: Selecionar todos
if mouse_check_button(mb_left) {
atacou = true
}
if atacou = true {
instance_create(mouse_x,mouse_y, obj_dano)
global.dano = random(10)
}
No Draw do
obj_dano
É isso, o problema é que, eu gostaria que o Draw fosse feito em cada uma das instancias criadas do obj_dano, mas ele só aparece na primeira que eu criei, não sei se tem que usar algo tipo instance_id ou instance_find. HELP!
Re: Draw em cada Instance
Enviado: Qui Nov 03, 2016 11:17 am
por Rodrigo Santiago
Bem, neste caso parece que você não soube usar muito bem
instance_exists. Este método retorna se o objeto passado nele existe na room, ou seja , você deve passar um id de objeto (que vc pega no instance_create ou no evento de colisão com
other)
Tente o seguinte :
Create do Objeto Dano :
Draw do Objeto Dano :
Step do Objeto Controler :
Código: Selecionar todos
if (mouse_check_button(mb_left)) {
atacou = true
}
if (atacou = true) {
var tempId = instance_create(mouse_x,mouse_y, obj_dano)
tempId.dano = random(10); // aki estou acessando aquela variavel que criei, apenas nesse único objeto
}
Espero que tenha ajudado, mas, cuidado, no seu codigo parece q depois de clicar ele vai criar infinitos danos !!! Será que é isso que você quer?
Não seria melhor :
Código: Selecionar todos
if (mouse_check_button(mb_left)) {
var tempId = instance_create(mouse_x,mouse_y, obj_dano)
tempId.dano = random(10); // aki estou acessando aquela variavel que criei, apenas nesse único objeto
}
Re: Draw em cada Instance
Enviado: Qui Nov 03, 2016 11:31 am
por kzards
Cara muito obrigado, vou testar aqui!!
Sobre esse infinitos danos foi porque esqueci de escrever aí no codigo atacou = false. pra fazer essa variável se ativar a cada clique e não com um clique só.
Edit:
na linha
[font={defaultattr}]
tá dando unexpected symbol in expression, ali onde começa a palavra instance, só que se eu mudar a varivavel tempId de local pra global o problema some, não to entendo porque isso tá acontecendo.[/font]
Re: Draw em cada Instance
Enviado: Qui Nov 03, 2016 12:43 pm
por cledson252010
Qual a versão do Game Maker que você utiliza, porque no
Game Maker 8 não dá para atribuir um valor à uma variável tipo
var na mesma linha
.
Tente o seguinte:
Ao invés de usar
global, você cria a variável, salta uma linha, então atribui o respectivo valor.
Exemplo:
Código: Selecionar todos
var tempId;
tempId = instance_create(mouse_x,mouse_y,obj_dano);
Eu sofria também com isso...
Re: Draw em cada Instance
Enviado: Sex Nov 04, 2016 10:25 am
por kzards
Não sabia disso, hehe, eu uso o 8 sim, preciso mudar pro studio urgentemente, o problema é que o projeto tá muito adiantado já, seria um dia todo só pra isso, criem um programa pra fazer essa transferência heuheuheu.
Muito obrigado tá?
Edit:
Depois de implementar o que foi dito acabei com um problema reverso. Agora ao invés do Draw ser feito apenas na primeira instancia do objeto ele é feito somente na última, então se eu criar 3 ele só aparece na terceira, sabe como faço pra deixar ele fixo em cada instancia?