2012-04-20 15 views
0

私は早い2週間から作業して以来、and-engineの初心者です。私はボールゲームを開発しています。ボールが2度目に地面に触れると、ボールが破壊されるはずです。私は、ボールスプライトの更新ハンドラを試してみました。カウントが2に達したら(正常にロジックを削除しています)、それが地面に当たったとき、Update()のハンドラのカウントでボールのボディを破壊しています。 。残念なことに、初めての(カウントは最初の衝突で2に達する)ボディは破壊されています。上記のシナリオは頻繁に繰り返され、連絡先リスナーと一緒に作業しましたが、変更はありません。AndEngine:スプライトの更新ハンドラ

@Override 
public void onUpdate(float pSecondsElapsed) { 
Shape path = new Rectangle(ballSprite.getX(),ballSprite.getY(), 10, 10); 
if (ballCount <= 2) { 
       mScene.attachChild(path); 
       pathCoordinates.add(path); 
       dumpPathCoordinates.add(path); 
      } 
      if (ballSprite.collidesWith(ground)) { 
       ballCount++; 
       if (ballSprite.collidesWith(ground) && ballCount == 2) { 
        removePath(); 
        removeBall(ballSprite); 
        addFace(10, 10); 
       } 
      } 
     } 
+0

コードを投稿してください。問題が分かりやすくなります。 – JohnEye

+0

@JohnEye私はここにコードを掲載しました。 –

答えて

1

最初のタッチが1回のエンジン繰り返しよりも長く続く可能性はありますか?その場合は、このシーケンスが発生した場合にのみボールの取り外しを許可する必要があります touching->not touching->touching。 これまでは、シーケンスが touching->still touchingであっても、ボールは削除されています。

+0

あなたのレスポンスJohnに感謝しますが、各エンジン反復ごとに異なる動作をしますが、最初のタッチカウントのログcatのトラッキングは増加し、2回目のワードの増分は増加します。 3回目の繰り返しでは、2回増分しても増やすことはできません。行動を分析するのに時間がかかる。しかし、代わりになるものは何もありません。 –

+0

私はあなたが説明したことはまだ私が言ったことと一貫していると思う - タッチは1回の繰り返しにつき1回以上繰り返されます。次のタッチの前に少なくとも1回の反復をタッチする必要がないという条件を追加する場合、カウンタは、ワンタッチの繰り返し回数に関係なく正しく動作するはずです。 – JohnEye

+0

私はあなたを得ることができません、それを明確にしてくださいできますか? –

関連する問題