Davidunz
Membro
Messaggi: 118
Iscritto il: 01/07/2008, 11:48
Contatta:

Funzione collision_line

Messaggio da Davidunz »

Salve.Non riesco a suare la funzione collision line.
Allora , io ho obj1 , obj2 e obj_wall. Come faccio a fare che se obj1 non è in collision line con obj2 e quindi ci sia nel mezzo obj_walll, obj1 non sia visibile?
....Le grandi imprese non si compiono mai da sobri....
sggsoftware
Membro
Messaggi: 178
Iscritto il: 01/07/2007, 15:09
Uso: GM:Studio 2
Località: Sicilia
Contatta:

Re: Funzione collision_line

Messaggio da sggsoftware »

Davidunz ha scritto:Salve.Non riesco a suare la funzione collision line.
Allora , io ho obj1 , obj2 e obj_wall. Come faccio a fare che se obj1 non è in collision line con obj2 e quindi ci sia nel mezzo obj_walll, obj1 non sia visibile?
Non è molto chiaro il tuo problema. Ti ricordo prima di tutto che collision_line serve a testare se una linea è in collisione con un oggetto, quindi l'espressione "obj1 non è in collision line con obj2" non ha molto senso.

Comunque se non ho capito male vuoi verificare se sia presente un muro tra due oggetti. In tal caso, devi passare alla funzione collision_line le coordinate dei due oggetti:

Codice: Seleziona tutto

collision_line(obj1.x,obj1.y,obj2.x,obj2.y,obj_wall,true,false);
Se poi vuoi fare che quando c'è il muro in mezzo ai due oggetti obj1 diventa invisibile, devi mettere:

Codice: Seleziona tutto

if (collision_line(obj1.x,obj1.y,obj2.x,obj2.y,obj_wall,true,false)<0) obj1.visible=true;
else obj1.visible=false;