2014-06-16 125 views
-1

一個非常簡單的數學問題。我試圖在我的2D閃光足球點球比賽中執行一個簡單的邏輯來檢查我的球員是否在穩定球對象的右側或左側。只有當球員在球的左邊而不在右邊時,我纔想踢球。檢查對象是否在另一個對象的左側或右側

我正在使用ActionScript 3.我試圖在我的主文檔類中實現這個邏輯。我有兩個穩定的球對象和一個我的球員。

if(!moveLeft && !moveRight && canShootBall){ 
    for each(var footy:FootBall in footballArray){ 
     if(instance_Xena.hasCollided(footy) && checkIfPlayerLeft(footy)){ 
      trace("COLLISION WITH " +footy.getId()); 
      instance_Xena.playKickAnimation(); 
     } 
    } 
} 

public function checkIfPlayerLeft(footy:MovieClip):Boolean{ 
     //check if the player is on the left side of the ball object here 

} 

於是,我就計算差額像他們的X位置「instance_Xena.x - footy.x」,但它會給當然同樣的正數。如果我可以得到球員左側的正值和球員右側球員的負值,那麼它可以解決我的問題。

我記得在3D空間中使用Vector3點產品來檢查玩家是在前面還是在敵人後面。但不知道它是否適用於此。我將如何檢查它?

+0

你試過了什麼?你爲什麼不能自己回答這個問題?您可以通過哪種方式訪問​​玩家/對象的座標?你想在什麼環境中實現這個功能? – Sam

+0

對不起,如此含糊不清。我編輯了我的第一篇文章,現在更清晰 – Htlcs

+1

我不知道ActionScript,但爲什麼你總是得到積極的而不是+ - 號碼?你會得到什麼「相同的正數」? – Sam

回答

0

嘿傢伙我終於找到了一個解決方案,它的工作原理。我使用了一種被稱爲三角形的簽名區域的東西,它的工作很完美

+0

你不只是檢查玩家x是否小於球x? –

相關問題