2012-02-03 9 views
0

それで、基本的に私自身の衝突検出を自分で構築していますが、計算が正しく行われません。私自身の衝突検出

私は静的なプレイヤーを持っていて、プラットフォームはランダムに生成され、プレイヤーに向かって動いています。

これは、これまでの私のコードです:

//Checks to see is a platform has been created 
if(IsPlatform == true){ 

     // performs check on the players position && platform position 
     if (Player.position.y > 100 && platform.position.x < platform.contentSize.width - Player.position.x/2) { 

     // allows you to jump on the platform 
      JumpUp = true; 

     }else if(Player.position.y < 100 && platform.position.x < platform.contentSize.width - Player.position.x/2){ 

      // Hit platform 
      JumpUp = false; 

     }else{ 

      JumpUp = false; 
} 

しかし、各プラットフォームが100-400pxの間で異なるサイズであると私が午前問題は、プレーヤーを打つためにプラットフォーム開始側を時々ヒットがされてきていますプラットフォームの開始直前、そして他の時間が後になっている(そして、正しい場所に運がよければ)。

私は多くの異なるオプションを試しましたが、多分私の心がぼやけてしまったので、誰かが私を助けることができたらうれしいです。

おかげ イーライ

答えて

0

私はこのコードが行うことになっているかを正確に知りませんが、このチェックはどんな意味がありませんが:

platform.position.x < platform.contentSize.width - Player.position.x/2 

あなたはplatform.contentSizeを持つべきではありません。これらの小切手の幅、またはそれを行う場合は、プラットフォームの中心を確認する必要があり、別の方法で書かれます。たぶん、あなたは実際にこれを書いてほしい:

platform.position.x < Player.position.x/2