Problemas com distancia e solidez

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

Problemas com distancia e solidez

Mensagem por Fireheaddew em Ter 21 Dez 2010, 10:57

Como se faz para que um objeto se afastou do "grupo" ele destrói? No meu caso é o fogo, se ele estiver longe do grupo ele se destrói? Por exemplo, eu faço um +. Mas, se uma parte do meu + for demolida ou empurrada de forma a ficar um -├, os outros objetos que se estavam mais na ponta fossem destruídos? Se ainda não entenderam, usarei o bomberman como exemplo. Quando o fogo encosta na solido, ele é destruido e o fogo que estiver na sua frente tambem é destruido. Entenderam? Já tentei usar no evento Destroy do fogo para ativar um alarm para todos os objetos Fogo que se estiverem longe do fogo 32 pixels eles seram destruidos, mas não funcionou.

Quanto a solidez, era assim: se eu estivesse em cima de um objeto, ele não era solido. Mas se eu saiise de cima dele ele ia passar a ser solido na mesma hora.

Valeu!

Fireheaddew

Número de Mensagens : 235
Data de inscrição : 04/11/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problemas com distancia e solidez

Mensagem por Licht em Ter 21 Dez 2010, 11:26

a primeira coisa é meio difícil mo começo mas com uma "gambiarra" você consegue...


a segunda, do sólido...

ponha no evento de colisão do player com esse tal objeto põa a ação "check object" (aba control) e ponha:

object: [objeto em questão]
x: [0]
y: [se o jogo não é de plataforma 0 mas se sim 1)

OK

ai você põe a ação set variable (todas as ações usadas são da mesma aba)

agir com: (o) object:[objeto em questão]

variable: solid
value: 0

OK

agora coloque a ação ELSE e põa denovo set variable:

agir com: (o) object:[objeto em questão]

variable: solid
value: 1

OK


acho que resolve...

Licht

Ranking : Sem avaliações
Número de Mensagens : 1217
Idade : 18
Data de inscrição : 26/04/2010
Reputação : 34
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 1
   : 0

http://lightsoftworks.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Problemas com distancia e solidez

Mensagem por Salathiel em Ter 21 Dez 2010, 11:47

Quanto a solidez, era assim: se eu estivesse em cima de um objeto, ele não era solido. Mas se eu saiise de cima dele ele ia passar a ser solido na mesma hora.

Tenta assim:


if not collision_point(x,y,obj,prec,notme) solid = true;


A primeira pergunta não entendi.

Salathiel

Número de Mensagens : 346
Idade : 20
Data de inscrição : 29/05/2010
Reputação : 3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://salathiel1337.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Problemas com distancia e solidez

Mensagem por Fireheaddew em Ter 21 Dez 2010, 12:15

Por exemplo, eu fiz uma linha de trem:
|
|
___________
|
|
Aí caiu uma pedra:
|
|
________O__
|
|
A linha de trem está bloqueada, mas ainda tem um pedacinho.
Eu queria que qualquer pedacinho do ponto bloqueado em diante(O) fosse destruido.

Fireheaddew

Número de Mensagens : 235
Data de inscrição : 04/11/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problemas com distancia e solidez

Mensagem por Markituh em Ter 21 Dez 2010, 12:30

Hmmm...
Quando o fogo encosta na solido, ele é destruido e o fogo que estiver na sua frente tambem é destruido.
O fogo ou a bomba? Bom, se for dessa forma, seria criar um "fogo" invisível, que destruisse quem ele tocasse. Então numa colisão do "fogo" com certos objetos:
Código:
with(other)
{
instance_destroy()
}
Seria isso?

flw

___________

"Não deixe para amanhã o que se pode fazer hoje"

Links úteis:
Índice de Tutoriais
Manual online do GMS

Markituh

Ranking : Sem avaliações
Número de Mensagens : 2183
Data de inscrição : 11/10/2009
Reputação : 106
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problemas com distancia e solidez

Mensagem por Jiraya em Ter 21 Dez 2010, 12:44

para destruir um objeto fogo quando ele se afasta do grupo é preciso criar um objeto nucleo para dizer ao fogo de qual grupo ele pertence
entao vc pode fazer isso
crie um objeto nucleo no meio do grupo de objeto fogos
e use isso no step do objeto fogo
Código:

if (distance_to_object(nucleo)>64)
{
instance_destroy();
}

Jiraya

Ranking : Nota A
Número de Mensagens : 1134
Data de inscrição : 20/03/2010
Notas recebidas : A+A
Reputação : 108
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 1

https://www.facebook.com/seito.washiro.7

Voltar ao Topo Ir em baixo

Re: Problemas com distancia e solidez

Mensagem por Fireheaddew em Ter 21 Dez 2010, 15:18

O problema com a solidez já foi resolvido por aqui mesmo. Para resolver foi só colocar na colisão do objeto(no meu caso uma bomba) com o player:

if solid=false{alarm[1]=3;}

No alarm...

solid=true;

Ou seja, só ia "alarmar para solidar" se NÃO estivesse solido.
Só falta o fogo. Eu vou tentar fazer o resto se não eu dou o EDIT.
EDIT:

Lucas Lunar escreveu:
a primeira coisa é meio difícil mo começo mas com uma "gambiarra" você consegue...
Taí minha "gambiarra":

if oScore.fogo > -1
{instance_create(x,y,oExplosaoCentral);}
if oScore.fogo > 0
{instance_create(x-32,y,oExplosao);
instance_create(x+32,y,oExplosao);
instance_create(x,y-32,oExplosao);
instance_create(x,y+32,oExplosao);}
if oScore.fogo > 1
instance_create(x-64,y,oExplosao);
instance_create(x+64,y,oExplosao);
instance_create(x,y-64,oExplosao);
iinstance_create(x,y+64,oExplosao);}
if oScore.fogo > 2
{instance_create(x-96,y,oExplosao);
instance_create(x+96,y,oExplosao);
instance_create(x,y-96,oExplosao);
instance_create(x,y+96,oExplosao);}
if oScore.fogo > 3
{instance_create(x-128,y,oExplosao);
instance_create(x+128,y,oExplosao);
instance_create(x,y-128,oExplosao);
instance_create(x,y+128,oExplosao);}
if oScore.fogo > 4
{instance_create(x-160,y,oExplosao);
instance_create(x+160,y,oExplosao);
instance_create(x,y-160,oExplosao);
instance_create(x,y+160,oExplosao);}
if oScore.fogo > 5
{instance_create(x-192,y,oExplosao);
instance_create(x+192,y,oExplosao);
instance_create(x,y-192,oExplosao);
instance_create(x,y+192,oExplosao);}
if oScore.fogo > 6
{instance_create(x-224,y,oExplosao);
instance_create(x+224,y,oExplosao);
instance_create(x,y-224,oExplosao);
instance_create(x,y+224,oExplosao);}
if oScore.fogo > 7
{instance_create(x-256,y,oExplosao);
instance_create(x+256,y,oExplosao);
instance_create(x,y-256,oExplosao);
instance_create(x,y+256,oExplosao);}
if oScore.fogo > 8
{instance_create(x-288,y,oExplosao);
instance_create(x+288,y,oExplosao);
instance_create(x,y-288,oExplosao);
instance_create(x,y+288,oExplosao);}
if oScore.fogo > 9
{instance_create(x-320,y,oExplosao);
instance_create(x+320,y,oExplosao);
instance_create(x,y-320,oExplosao);
instance_create(x,y+320,oExplosao);}
if oScore.fogo > 10
{instance_create(x-320,y,oExplosao);
instance_create(x+320,y,oExplosao);
instance_create(x,y-320,oExplosao);
instance_create(x,y+320,oExplosao);}
if oScore.fogo > 11
{instance_create(x-352,y,oExplosao);
instance_create(x+352,y,oExplosao);
instance_create(x,y-352,oExplosao);
instance_create(x,y+352,oExplosao);}
if oScore.fogo > 12
{instance_create(x-384,y,oExplosao);
instance_create(x+384,y,oExplosao);
instance_create(x,y-384,oExplosao);
instance_create(x,y+384,oExplosao);}
if oScore.fogo > 13
{instance_create(x-416,y,oExplosao);
instance_create(x+416,y,oExplosao);
instance_create(x,y-416,oExplosao);
instance_create(x,y+416,oExplosao);}
if oScore.fogo > 14
{instance_create(x-448,y,oExplosao);
instance_create(x+448,y,oExplosao);
instance_create(x,y-448,oExplosao);
instance_create(x,y+448,oExplosao);}
instance_destroy()
oScore.bombas+=1


É o que eu uso para criar o fogo. Funciona perfeitamente, se não fosse esse trouble.

Fireheaddew

Número de Mensagens : 235
Data de inscrição : 04/11/2010
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Problemas com distancia e solidez

Mensagem por Conteúdo patrocinado Hoje à(s) 21:51


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