私はすべてを検索し、この一見よくある質問に対する回答を驚くほど見つけられませんでした。私が現在直面している問題は、プレイヤーが敵に直面しているかどうかをチェックし、プレイヤーの視界のどの範囲(調整可能)内であれば、その範囲内であれば最も近い安全方向に移動することです。2つのオブジェクトが互いに向き合っているかどうか確認してください
はここに絵だ:だからD
、どのように私はこれを実現するのでしょうか?私はx
、y
、およびdirection
をすべての船体に持っています。これは、プレイヤーの方向がプレーヤーに対して敵の方向から正確に180度離れていると考えようと試みる最後の失敗した試みです。この例では
var direction=Math.direction(this.x,this.y,player.x,player.y,1),
playerview=Math.abs(direction)-Math.abs(player.direction-180)
if(Math.abs(playerview)<10) {
console.log('in view')
this.xVelocity+=AI.speed*Math.sin(playerview*Math.PI/180)
this.xVelocity+=AI.speed*Math.cos(playerview*Math.PI/180)
}
、10
の範囲であろう。もちろん、私は船を右に回転させることしかできなかったので、半円上での検出だけでなく、敵を右に向けることもできません。何か案は?
xVelocityをコピーしていただきありがとうございます。平凡な間違いです^^;しかし、問題は船を動かすことではない、それは正しい検出を得ている。 私はMath.directionが他のすべてのために使用したように動作していると確信しています。私はプロトタイプを自分で追加しました。私はそれが標準ではないことを知っている。 そして、眠気の状態から、私は貧弱にしたい言葉をしました。私が望むのは、含まれている画像の方が優れていることが示されているので、プレイヤーが敵に向かっているかどうかを確認することです。私はそれを達成する方法を知っていますか?あるいは、360度以内に角度を保つためにこの余分な措置が取られても、180を追加することはできますか? – Ruffy
答えを編集して解をスケッチします。 – Black