|
|
|
Autor |
Mensagem |
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
Qual o nome considerado pela engine da Bullet |
|
sabemos que tem o objeto chamado bullet, ele sai da arma, em formato circular, como uma bala...
mais se eu colocar qualquer comando para agir sobre a bullet, da erro, dizendo que ela não existe...
então qual seria o nome dela quando atiramos?
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Qua Fev 22, 2012 12:11 am |
|
|
Edirlei
Administrador
Registrado: 15/03/08 Mensagens: 760
|
|
|
|
Elas são criadas e destruídas automaticamente quando atingem uma determinada distancia. O nome é incremental, o primeiro tiro terá o nome de Bullet1, o segundo Bullet2, Bullet3...
Se você quer verificar se elas atingiram algo, você deve usar o evento OnCollision do mapa e verificar se o objeto que esta colidindo tem a string "Bullet" no seu nome.
|
|
Qua Fev 22, 2012 4:22 pm |
|
|
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
pode me dizer como fazer isso?
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Qua Fev 22, 2012 9:32 pm |
|
|
Edirlei
Administrador
Registrado: 15/03/08 Mensagens: 760
|
|
|
|
| | if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 <> 'Inimigo') then
begin
...
end;
end;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject1 <> 'Inimigo') then
begin
...
end;
end; |
|
|
Qua Fev 22, 2012 10:37 pm |
|
|
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
sim, até ai tudo ok, mais eu queria que na hora da colisão, um objeto tomasse sua posição, seria o furo da bala, então ficou assim
| | if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 <> 'Inimigo') then
begin
setobjectposition('furo',GetobjectpositionX('Bullet'),GetobjectpositionY('Bullet'),GetobjectpositionZ('Bullet'))
end;
end;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject1 <> 'Inimigo') then
begin
setobjectposition('furo',GetobjectpositionX('Bullet'),GetobjectpositionY('Bullet'),GetobjectpositionZ('Bullet'))
end;
end; |
mais fala que o Bullet não existe, o que eu deveria fazer nesse caso?
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Qua Fev 22, 2012 10:44 pm |
|
|
Edirlei
Administrador
Registrado: 15/03/08 Mensagens: 760
|
|
|
|
| | mais fala que o Bullet não existe, o que eu deveria fazer nesse caso? |
O "Bullet" não existe mesmo... Você tem que pegar o nome exato da bullet que colidiu. Algo assim:
| | if Copy(GetCollidedObject1(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject2 <> 'Inimigo') then
begin
setobjectposition('furo',GetobjectpositionX(GetCollidedObject1()),GetobjectpositionY(GetCollidedObject1()),GetobjectpositionZ(GetCollidedObject1());
end;
end;
if Copy(GetCollidedObject2(), 0, 6) = 'Bullet' then
begin
if (GetCollidedObject1 <> 'Inimigo') then
begin
setobjectposition('furo',GetobjectpositionX(GetCollidedObject2()),GetobjectpositionY(GetCollidedObject2()),GetobjectpositionZ(GetCollidedObject2());
end;
end; |
|
|
Qua Fev 22, 2012 10:52 pm |
|
|
kleiton157
Usuário
Registrado: 06/05/11 Mensagens: 1170 Localização: Na cáducarai |
|
|
|
cara, muito bom, valeu, agora só para completar, teria como criar esses tais furos, porque só tem um no mapa...
tipo assim, quando colidir la, criar um cubo com a textura do furo da bala?
_________________ ________________________________________
- É nescessário ver além do que os olhos mostram |
|
Qua Fev 22, 2012 10:59 pm |
|
|
Edirlei
Administrador
Registrado: 15/03/08 Mensagens: 760
|
|
|
|
Use o comando CreateCube:
CreateCube(Name : String; PositionX : Float; PositionY : Float; PositionZ : Float; ScaleX : Float; ScaleY : Float; ScaleZ : Float; RefObjectName : String = 'Scene');
|
|
Qua Fev 22, 2012 11:02 pm |
|
|
|
|
|
|
|
|