【发布时间】:2016-04-08 03:46:42
【问题描述】:
首先对不起我的英语不好...
场景:
我已经加载了 3 种精灵
1. 播放器
2. 障碍物(生成随机 X 坐标)
3. 矩形(障碍物)
我已经创建了每秒自动生成障碍物,生成后障碍物会随着重力下降。
每个障碍物都有矩形作为它的孩子。我将使用这个矩形来检测与玩家的碰撞。
如果玩家撞到这个矩形我需要改变分数,如果玩家撞到障碍我需要杀死玩家
_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);
}
}));
【问题讨论】: