0

Android用のcocos2dのJavaで共謀検出を行おうとしていますが、私が持っているコードをここに示します

float oldx = player.getPosition().x;
float oldy = player.getPosition().y;
if((player.getPosition().y + player.getContentSize().height > building1.getPosition().y) &&
   (player.getPosition().y < building1.getPosition().y + building1.getContentSize().height) && 
   (player.getPosition().x + player.getContentSize().width > building1.getPosition().x) &&
   (player.getPosition().x < building1.getPosition().x + building1.getContentSize().width))
{
    player.setPosition(CGPoint.ccp(oldx, oldy));
}

だけどなぜかうまくいかない…どうして?

4

1 に答える 1

1

oldxoldyplayer.getPosition().xとにそれぞれ設定してplayer.getPosition().yいます。衝突検出ifステートメントでまったく同じチェックを使用しているため、基本的に位置を同じ場所に設定しています。

衝突が発生したことを確認する前に、プレーヤーが移動したい位置を知る必要があります。その後、プレーヤーがそこに移動できないようにします (つまり、X と Y を更新しません)。

于 2011-11-24T06:20:12.637 に答える