Conectar-se
Quem está conectado
10 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 10 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 05/06/2008
Número de Mensagens : 501
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://studionatch.com.sapo.pt/

Ptoblema com "Variaveis bolianos" com colisão

em Sab 18 Jul 2009, 19:14
Boas
Eu criei um "obj_control", ele cria objectos de acordo com a variável “global.criar” que é boliano. Se "global.criar=true" ele cria um objecto

O problema é o seguinte, o "global.criar" inicia em "false", meti numa colisão de um objecto_X com o objecto_Y, que quando estes colidirem o "global.criar= true" assim para criar outro, o mas como depois de colidirem ficam assim ate o final do jogo, o problema é que ele cria objectos sem parar, porque o "global.criar" vai ficar "true" ate o final do jogo.
Eu queria que ele voltasse a "false" mesmo que esses objectos continuarem em colisão…
Convidad
Convidado

Re: Ptoblema com "Variaveis bolianos" com colisão

em Sab 18 Jul 2009, 20:08
Nesse caso basta checar se o objecto já foi criado. Quando os dois colidirem coloque:

Código:
if not instance_exists(objecto_criado) then instance_create(x,y,objecto_criado);
avatar
Data de inscrição : 05/06/2008
Número de Mensagens : 501
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://studionatch.com.sapo.pt/

Re: Ptoblema com "Variaveis bolianos" com colisão

em Sab 18 Jul 2009, 20:32
amigo isso é um pouco bem mais complexo, ve a engin e analisa-o

engine
Convidad
Convidado

Re: Ptoblema com "Variaveis bolianos" com colisão

em Sab 18 Jul 2009, 21:20
@Natch escreveu:amigo isso é um pouco bem mais complexo, ve a engin e analisa-o

engine

Infelizmente ou não tenho o GM7. XD

Pelo nome, é um jogo de tetris certo? Na verdade, uma forma melhor de fazer um jogo assim é usando ds_lists ou arrays como coordenadas ao invés de colisão e objectos.

De qualquer forma, acho que sei o que você fez. Quando uma nova peça cai e colide com outra, a colisão cria uma nova peça. Só que pode haver um inconveniente nisso: a colisão pode criar uma nova peça para cada instância.

Tente fazer assim:

1 - Crie uma variável "activo" para seus objectos e defina-a como true nos eventos Create.

2 - Depois, na colisão deles, coloque:

Código:
if activo = true then
begin
      activo := false;
      instance_create( room_width/2, 0, nova_pecinha);
end;
avatar
Data de inscrição : 05/06/2008
Número de Mensagens : 501
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Ver perfil do usuáriohttp://studionatch.com.sapo.pt/

Re: Ptoblema com "Variaveis bolianos" com colisão

em Dom 19 Jul 2009, 17:55
Realmente não percebi o código, mas tentei o seguinte na colisão do objecto
Código:
if vspeed=0 then
{
begin
global.criar=true;
end;
}
mas não resultou...
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

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

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

Re: Ptoblema com "Variaveis bolianos" com colisão

em Dom 19 Jul 2009, 19:02
Coloque condições nas colisões.
No evento Create dos objetos defina
Código:
ativo = true;

Em todos as colisões coloque uma condição e defina ativo = false;
Código:
if ativo = true
{
    vspeed=0;
    global.obj=3;
    global.criar=true;

    ativo = false;
}

Quando o objeto colidir a variavel ativo será false e o código da colisão não vai mais ficar definindo global.criar como true.

Foi isso que Capitão Commando estava tentando passar.
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