# Objekt zwischen 2 Geraden?



## Creativ (20. Apr 2008)

Hi,
Habe gerade ein kleines Problem.
Und zwar programmiere ich gerade ein kleines Spiel, wo man eine Person steuert und sobald man in das Sichtfeld einer anderen Person kommt soll etwas passieren.

Jetzt bin ich soweit, dass die andere Person entweder nach oben/unten/rechts/links guckt und dann berechne ich den Abstand zwischen den beiden personen.
Wenn der Abstand < 150pixel ist, ist man im sichtradius:

Wenn die Person nach rechts oder links guckt, berechne ich mit cosinus den winkel zwischen dem abstand und der horizontalen linie. Wenn der Winkel kleiner als 25° ist, ist man im Sichtfeld.

Wenn die Person nach oben oder unten guckt, berechne ich wieder mit cosinus den Winkel zwischen dem Abstand und der Vertikalen Linie. Wenn der Winkel kleiner als 25° ist, ist man im Sichtfeld.

Jetzt kann es aber sein, dass dazwischen noch eine Wand ist bei den Koordinaten (x/y) und sie ist z.B. 25pixel hoch und 3 pixel breit.

Jetzt würde ich gerne kontrollieren, ob die "Sichtlinie" von der Position des Spielers zu der anderen Person noch eine Wand dazwischen ist. Weiß jetzt aber nicht wie ich das kontrollieren soll.

Hier noch ein Bild um das zu verdeutlichen:




Wie kontrolliere ich das am Besten?

Gruß,
Dennis


----------



## Lulumann6 (20. Apr 2008)

die einfachste, aber warscheinlich nicht beste lösung wär, du ziehst eine linie zwischen den zwei personen und dann kontrollierst du ob da eine wand zwischen ist genauso wie wenn du kontrollierst ob du mit deiner figur gegen eine wand läufst.


----------



## Marco13 (20. Apr 2008)

Ja häm - wenn die Verbindungslinie der beiden Personen die Wand schneidet, ist sie im Weg -  :!:  :?:


----------



## Creativ (20. Apr 2008)

Hi,
Hatte es davor schonmal so probiert aber da hat es irgendwie nicht funktioniert.
Naja geht jetzt...^^
Hatte sich letzte mal ein Minus eingeschlichen.

Trotzdem Danke!


----------

