0

touchAreaに登録されていないphysicworldにスプライトがあります。他のスプライトと衝突したときにのみ移動し、physicworldの境界で定期的に跳ね返ります。衝突していないときもランダムに動かそうとしています。線速度を与えようとしますが、右下隅まで移動し、跳ね返らずにそこにとどまります

if(Sprite.getX() > 0) {
    bodySprite.setLinearVelocity(new Vector2(VELOCITY_X, VELOCITY_Y));
} else if(Sprite.getX() + Sprite.getWidth() > CAMERA_WIDTH) {
    bodySprite.setLinearVelocity(new Vector2(-VELOCITY_X, -VELOCITY_X));
}
4

1 に答える 1

0

それが絶対に真実だと確信していSprite.getX() + Sprite.getWidth() > CAMERA_WIDTHますか?(ローテーション等を考慮して…)

画面の端にある種の box2d センサーを配置し、接触し始めたらインパルスを適用します。

于 2013-06-03T17:51:41.187 に答える