Conectar-se
Quem está conectado
28 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 27 Visitantes

JuubiSama

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 04/11/2010
Número de Mensagens : 235
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Problemas com distancia e solidez

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!
avatar
Ranking : Sem avaliações
Data de inscrição : 26/04/2010
Número de Mensagens : 1217
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 34

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://lightsoftworks.blogspot.com/

Re: Problemas com distancia e solidez

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...
avatar
Data de inscrição : 29/05/2010
Número de Mensagens : 346
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3

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

Re: Problemas com distancia e solidez

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.
avatar
Data de inscrição : 04/11/2010
Número de Mensagens : 235
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Problemas com distancia e solidez

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.
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Problemas com distancia e solidez

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
avatar
Ranking : Nota A
Notas recebidas : A+A
Data de inscrição : 20/03/2010
Número de Mensagens : 1134
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 108

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttps://www.facebook.com/seito.washiro.7

Re: Problemas com distancia e solidez

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();
}
avatar
Data de inscrição : 04/11/2010
Número de Mensagens : 235
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Problemas com distancia e solidez

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.
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