lineOfSight
lineOfSight
> 機能
entityToIgnore 配列内のエンティティを無視して、start セルと end セルの間の視線をチェックします。
例: if (lineOfSight(getCell(), getCell(enemy))
アルゴリズムは次のように記述されます。
- テストされた 2 つのセルの中心の間にセグメントを描画します。
- このセグメントが交差するセルをリストします。セグメントがその端に触れている場合、または無視されている場合、セルは交差しているとは見なされません。
- これらの交差したセルの 1 つだけが障害物であるかエンティティを含む場合、視線はブロックされます。それ以外の場合はクリアです。
#### 設定
- start: 開始セル。
- end: ターゲット セル。
- entityToIgnore (オプション): 無視するエンティティまたは無視するエンティティの配列。デフォルトでは、エンティティは無視されます。
#### フィードバック
- ロス: (ブール値)
- 視線がはっきりしている場合は「true」。
- それ以外の場合は「false」。
デモンストレーション
セルをクリックすると、そのセルと見通しが合うすべてのセルが表示されます。