lineOfSight
lineOfSight
> Toiminnot
Tarkistaa näkökentän aloitus- ja loppu-solun välillä jättäen huomioimatta entityToIgnore-taulukon entiteetit.
Esimerkki: "if (lineOfSight(getCell(), getCell(vihollinen))"
Algoritmi on kuvattu seuraavasti:
- Piirrä segmentti kahden testatun solun keskipisteiden väliin.
- Listaa solut, jotka tämä segmentti ylittää. Solua ei katsota ylitetyksi, jos segmentti koskettaa sen reunaa tai jos se jätetään huomiotta.
- Jos vain yksi näistä ylitetyistä soluista on este tai sisältää kokonaisuuden, näköyhteys on estetty, muuten se on selkeä.
Asetukset
- aloitus: Aloitussolu.
- loppu: Kohdesolu.
- entityToIgnore (valinnainen): EntityToIgnore (valinnainen): EntityToIgnore tai joukko ohitettavia entiteettejä oletusarvoisesti entiteettisi ohitetaan.
Palaute
- los: (boolean)
- "tosi", jos näköyhteys on selkeä;
väärä muuten.
Esittely
Napsauta solua nähdäksesi kaikki solut, jotka ovat näkyvissä sen kanssa.