我正在XNA的基礎上植入2D遊戲。我已經實施了Craig Reynold的植絨技術,現在我想動態地指派一名領導人加入該團隊,以引導他們走向一個目標。2D中的XNA視野
爲此,我想找到一個沒有任何其他代理的遊戲代理,並使其成爲領導者,但我不確定這個數學。
目前我有:
Vector2 separation = agentContext.Entity.Position - otherAgent.Entity.Position;
float angleToAgent = (float) Math.Atan2(separation.Y, separation.X);
float angleDifference = Math.Abs(agentContext.Entity.Rotation - angleToAgent);
bool isVisible = angleDifference >= 0 && angleDifference <= agentContext.ViewAngle;
agentContext.ViewAngle那就是我曾用起了弧度值,試圖得到正確的效果,但這種效果主要是在所有的代理商被指定爲領導者。
任何人都可以指出我在正確的方向來檢測一個實體是否在另一個實體的視圖「錐」內?
angleDifference> = 0永遠是正確的,因爲angleDifference是ABS功能的結果。 – Empyrean 2010-11-11 03:32:26