objeto que se destrói em cadeia

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

objeto que se destrói em cadeia

Mensagem por Mart10carado em Dom 18 Mar 2012, 15:48

ola como eu faço para um mesmo objeto ser excluído mas que essa reação não seja em cadeia EX:

crio vários objeto bloco e na colision do obj player tem instace destrói obj bloco.Mas em vez de destruir 1 só bloco destrói todos...

me ajudem só fauta isso pro meu game de guerra ficar pronto.

Mart10carado

Número de Mensagens : 134
Data de inscrição : 27/05/2011
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: objeto que se destrói em cadeia

Mensagem por Need 90 em Dom 18 Mar 2012, 15:55

coloca assim na colisão do player com o bloco :
Código:
with (other) instance_destroy()

Need 90

Ranking : Nota B
Número de Mensagens : 787
Data de inscrição : 16/01/2012
Notas recebidas : D+A+B
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://need90games.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: objeto que se destrói em cadeia

Mensagem por Mart10carado em Dom 18 Mar 2012, 16:15

ok vlw vou ver se da certo ... so um favor explica a parte do (with (other))

e que eu nao gosto de usar um código sem sabe oque estou usando Happy

Mart10carado

Número de Mensagens : 134
Data de inscrição : 27/05/2011
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: objeto que se destrói em cadeia

Mensagem por Need 90 em Dom 18 Mar 2012, 16:20

with :
Preposição
com
de
a
em
por
por meio de
a respeito de
apesar de




other :
Adjetivo
outro
outros
diferente
alternado

Advérbio
senão
de outro modo
diferentemente

Pronome
o outro

Need 90

Ranking : Nota B
Número de Mensagens : 787
Data de inscrição : 16/01/2012
Notas recebidas : D+A+B
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://need90games.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: objeto que se destrói em cadeia

Mensagem por Mart10carado em Dom 18 Mar 2012, 16:27

Bela aula de Ingles kkkkk...

need90 seria difícil explicar oque esta ocorrendo de errado no game,Vou te passar o projeto.ai vc executa ele e ver quando o 1 hastati colide com o inimigo a lança do outro e que some '-' e quando crio dois hastati as lanças so vai pra 1.

hastati=guerreiro do tempo romano

mim adiciona no msn matthewkitten@hotmail.com

Mart10carado

Número de Mensagens : 134
Data de inscrição : 27/05/2011
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: objeto que se destrói em cadeia

Mensagem por saim em Seg 19 Mar 2012, 11:28

"other" é um objeto especial que, num evento de colisão, significa "a instância colidida". Ele pode assumir outros significados em outras situações.

Traduzindo livremente o (bom) código do Need 90, ele quer dizer o seguinte:
Ao colidir o objeto-hastado com a haste do inimigo (evento de colisão):
Código:
faz_o_seguinte(com_a_haste_inimiga){
some_com_ela();
}
Então era esperado que a haste inimiga sumisse mesmo, é que sua pergunta não explicou exatamente com quais objetos estávamos lidando.
Talvez você devesse colocar o código na haste. Aí, o "other", o objeto colidido, vai ser o inimigo e quando a haste tocar no inimigo, ele some.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: objeto que se destrói em cadeia

Mensagem por Mart10carado em Seg 19 Mar 2012, 21:57

N fufo o problema ja começa quamdo os hastati sao criados e as lanças so vai pra um e quando morro em vez de deletar so 1 lança deleta a de todos

Mart10carado

Número de Mensagens : 134
Data de inscrição : 27/05/2011
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: objeto que se destrói em cadeia

Mensagem por saim em Ter 20 Mar 2012, 08:41

Não estou conseguindo entender muito bem o que está acontecendo. Mostre pra gente os códigos de colisão e diga em que objeto está cada um.
Explique um pouco melhor, também, o resultado final que você espera.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: objeto que se destrói em cadeia

Mensagem por Mart10carado em Ter 20 Mar 2012, 10:10

Information about object: Hastati

Sprite: Hparad
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Mask:

Create Event:
execute code:

globalvar caminhando,armado;
terminou=false
vida_max=300
vida=100
image_speed=.3
caminhando=0
armado=false
alarm[0]=room_speed*1


pf_init();//inicia o sistema de plataforma
image_speed=.5;
pf_set_key_jump(vk_up);//define a tecla de pulo



Destroy Event:
for all Lanca: destroy the instance

Alarm Event for alarm 0:
execute code:

vida+=5
alarm[0]=room_speed*1


Step Event:
execute code:

pf_gravity(.Cool;//inicia a gravidade e a fisica no terreno

pf_auto_move();//Ia simples de movimento

pf_move(RIGHT,2);//move para a direita
image_angle=pf_get_ramp_angle();//inclinar na rampa
image_xscale=pf_get_direction();//define a escala de acordo com a direçao

// Inverter lado de caminhar
if hspeed>0 { image_xscale=1 }
if hspeed<0 { image_xscale=-1 }

execute code:

if vida<=0
{instance_destroy();global.ouro+=3}

if terminou=true
{instance_destroy();global.popu-=1}


Collision Event with object NPClança:
execute code:

speed=0

execute code:

vida-=30


Draw Event:
execute code:

/*Desenhar a sprite normalmente. Você deve usar esse codigo quando for usar draw em um sprite comum, como o jogador
por exemplo*/
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha);

//Desenha a barra de saude:
draw_healthbar(x-15,y-30,x+15,y-35,(vida/vida_max)*100,c_black,c_red,c_red,image_angle,true,true)


Information about object: Lanca

Sprite: Lança
Solid: false
Visible: true
Depth: 0
Persistent: false
Parent:
Mask:

Create Event:
execute code:

globalvar caminhando,parado;

image_speed=.15
x=Hastati.x+5 // Ficar neste ponto X comparado ao player
y=Hastati.y+12// Ficar neste ponto Y comparado ao player


Step Event:
execute code:

hspeed=Hastati.hspeed // Hspeed ser igual do player
vspeed=Hastati.vspeed // Vspeed ser igual do player


image_xscale=Hastati.image_xscale // Virar para o lado que o Player virar
image_angle=0 // Voltar o braço no ângulo normal quando não estiver com a arma
image_yscale=1 // Voltar também a imagem_yscale ao normal quando não estiver armado


// Mudar a posição do braço conforme o lado que o Player estiver virado
if image_xscale=1
{
x=Hastati.x+5
y=Hastati.y+12
}
else
{
x=Hastati.x-5
y=Hastati.y+12
}


o object lanca acompanha o hastati mas quamdo se destroi destroi todas as lanças tan bem

Mart10carado

Número de Mensagens : 134
Data de inscrição : 27/05/2011
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: objeto que se destrói em cadeia

Mensagem por saim em Ter 20 Mar 2012, 11:30

Mart10carado escreveu:
Information about object: Hastati
Destroy Event:
for all Lanca: destroy the instance
o object lanca acompanha o hastati mas quamdo se destroi destroi todas as lanças tan bem
Isso já é um problema. Nem preciso explicar porque, preciso?
Mart10carado escreveu:
Information about object: Lanca
Create Event:
execute code:

x=Hastati.x+5 // Ficar neste ponto X comparado ao player
y=Hastati.y+12// Ficar neste ponto Y comparado ao player


Step Event:
execute code:

if image_xscale=1
{
x=Hastati.x+5
y=Hastati.y+12
}
else
{
x=Hastati.x-5
y=Hastati.y+12
}

Bom, isso pode ser um problema, também. Todas as lanças acompanharão o último Hastati a ser colocado na room. O código delas segue o objeto, não as instâncias, então elas não entendem a diferença entre um Hastati e outro.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: objeto que se destrói em cadeia

Mensagem por Mart10carado em Ter 20 Mar 2012, 17:53

eeeeee? isso já sabia tinha um antigo tópico que um amigo disse para trocar o obj pelo id do objeto

------------------------------EDIT-----------------------------

se eu n achar solução para esse problema meu Game vai ficar limitado demais e bem chato'-'
imagina só poder fazer um hastati por vez e esperar ele morrer.

Mart10carado

Número de Mensagens : 134
Data de inscrição : 27/05/2011
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: objeto que se destrói em cadeia

Mensagem por Kabeção em Qua 21 Mar 2012, 11:46

Parece que você não entendeu a dica do saim porque não sabe que esta usando o Destroy Event de maneira errada então vou explicar.
Destroy Event:
for all Lanca: destroy the instance
Você deve ter criado um evento Destroy e nele coloca-do um Drag & Drop "Destroy Instance" e ai nas opções marcou "Object" e pos o bloco lá não é?

É isso que esta causando o problema.
A função do evento Destroy não é exatamente destruir um objeto, é só que o que estiver nele vai ser executado quando o objeto for destruí-do.
Além disso se você escolhe um objeto no "Destroy Instance" isso realmente destrói todos eles, então você estava destruindo todos no momento em que qualquer um era eliminado.
Exclua esse evento e use "with(other) instance_destroy()" no evento de collission assim como já foi dito.

Kabeção

Ranking : Sem avaliações
Número de Mensagens : 2314
Data de inscrição : 08/06/2008
Reputação : 100
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 0
   : 1

http://blackcapapps.blogspot.com.br/

Voltar ao Topo Ir em baixo

Re: objeto que se destrói em cadeia

Mensagem por Conteúdo patrocinado Hoje à(s) 14:23


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