Eventos de colisão só podem ser feitos pelo ator principal?

 
   3D Game Builder - Índice » Programação
Eventos de colisão só podem ser feitos pelo ator principal?
Autor Mensagem
Lemos
Usuário
Usuário


Registrado: 14/04/09
Mensagens: 802
Localização: Rio de Janeiro - RJ

Eventos de colisão só podem ser feitos pelo ator principal?
Amigos

Desculpe se estiver falando bobagem, mas pelo que tenho visto, os eventos on colision ocorrem quando o ator principal colide com um objeto qualquer. Queria saber se é possível fazer o mesmo com outros atores; por exemplo, imaginem uma corrida entre o ator principal e o espantalho, para chagar até uma porta. Quem chegasse primeiro, abriria a porta, porque esta estaria programada para se abrir com a colisão de qualquer objeto ou pelo espantalho. O evento seguinte seria uma indicação de ganho do jogo ou não, isto é, se você chegou primeiro, ganhou, se o espantalho chegou primeiro você perdeu.
A idéia é para ver a viabilidade da expansão da inteligência artificial em um jogo.

Abraço



_________________
Lemos
http://alemdanimacao.zip.net/
Sex Abr 24, 2009 4:06 pm Exibir perfil de usuários
Mililo
Usuário
Usuário


Registrado: 05/12/08
Mensagens: 366
Localização: Santo Antônio de Pádua / RJ

Tem como sim, é só usar GetCollidedObject1 e GetCollidedObject2,ficaria mais ou menos assim:
Código:
if getcollidedobject1='OBJETO_ATOR' then
if getcollidedobject2='OBJETO_PORTA' then
begin
//codigo
end
else
if getcollidedobject2='OBJETO_ATOR' then
if getcollidedobject1='OBJETO_PORTA' then
begin
//codigo
end;


Naquele exemplo de jogo de tiro que o Edirlei te passou o link ele usou esses comnados para checar a colisão da bala com os inimigos, mas o dele ficou mais complexo porque ele usou o comando copy, creio eu que é porque as balas são objetos que são sempre destruidos e recriados, e sempre que são recriados vem com um nome diferente tipo Bullet01, Bullet02, daí para checar a colisão o Edirlei teve que usar o Copy para pegar apenas a parte do nome que diz 'Bullet' independente do número que vem depois(ou antes).
Sex Abr 24, 2009 11:10 pm Exibir perfil de usuários
Edirlei
Administrador
Administrador


Registrado: 15/03/08
Mensagens: 760

É exatamente o que o Mililo disse, mas lembre-se de usar esse script no evento OnCollision do mapa e não no dos objetos.
Sáb Abr 25, 2009 12:23 pm Exibir perfil de usuários
Lemos
Usuário
Usuário


Registrado: 14/04/09
Mensagens: 802
Localização: Rio de Janeiro - RJ

Obrigado, amigos! Com esas explicações eu poderei estudar melhor o script do exemplo, que realmente estava me deixando bolado pque eu não estava entendendo exatamente o significadodos dos comandos GetCollidedObject1 e GetCollidedObject2 .

Abraço! Very Happy



_________________
Lemos
http://alemdanimacao.zip.net/
Sáb Abr 25, 2009 3:17 pm Exibir perfil de usuários
   3D Game Builder - Índice » Programação
Página 1 de 1