-1
シナリオ
...私の悪い英語のため申し訳ありません
...私の悪い英語のため申し訳ありません
まず: 私はスプライトの負荷3種類
1.プレーヤー
2.障害(座標X乱数を生成する)
3.長方形(障害の子を持っています)
ランダム生成Sprite AndEngineとの衝突を検出する方法は?
私は1秒ごとに自動的に障害物を生成しました。障害物が生成された後、重力によって障害物が落ちます。
すべての障害物は、矩形を子として持ちます。この矩形を使ってプレーヤーとの衝突を検出します。
プレイヤーは、この長方形に衝突した場合、私はスコアを変更する必要があり、プレイヤーiがプレイヤーを殺すために必要がある障害物
_scene.registerUpdateHandler(new TimerHandler(0.5f, true, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
int _coorx = randInt(0,_constants.CAMERA_WIDTH);
// OBSTACLE
_obstacle = new Sprite(_coorx, -50, _obstacletr, getVertexBufferObjectManager());
_obstaclefd = PhysicsFactory.createFixtureDef(10.0f, 1.0f, 0.0f);
_obstaclebody = PhysicsFactory.createCircleBody(_physicsworld, _obstacle, BodyType.DynamicBody, _obstaclefd);
_physicsworld.registerPhysicsConnector(new PhysicsConnector(_obstacle, _obstaclebody, true, false));
// OBSTACLE RECTANGLE
_obstaclerectangle = new Rectangle(-_coorx, 0, _constants.CAMERA_WIDTH, 5, getVertexBufferObjectManager());
_obstaclerectangle.registerUpdateHandler(new IUpdateHandler(){
@Override
public void onUpdate(float pSecondsElapsed) {
if(_obstaclerectangle.collidesWith(_player1)) {
_obstaclerectangle.setColor(1, 0, 0);
} else {
_obstaclerectangle.setColor(0, 1, 0);
}
}
@Override
public void reset() {
// TODO Auto-generated method stub
}
});
_obstacle.attachChild(_obstaclerectangle);
_scene.attachChild(_obstacle);
}
}));
すでに解決済みです。私はスプライトを保存するために配列を使用し、配列インデックスをチェックしてすべてのオブジェクトを検出します。しかし、私は他の問題に使用することができますあなたのソリューションのためにありがとう –