问题来了:我有一个人物,它既有 Sprite 又有 body 。这个数字是可拖动的,在触摸事件的 Action Down 上,我需要 body 断开连接,这样它在被拖动时就不会与其他 body 发生碰撞。然后在 Action Up body 上应该连接到 sprite。我定义了两种方法来解决这个问题。
protected void connectBody() {
if (!bodyConnected) {
connector = new PhysicsConnector(mSprite, mBody, true, true);
mPhysicsWorld.registerPhysicsConnector(connector);
bodyConnected = true;
}
}
protected void disconnectBody() {
if (bodyConnected) {
if (connector != null) {
mPhysicsWorld.unregisterPhysicsConnector(connector);
}
bodyConnected = false;
}
}
但是,这是行不通的。当我拖动图形时,它会与其他图形发生碰撞。谁能帮我解决这个问题?非常感谢。
最佳答案
我几天前玩过它,这就是我拖动对象所做的。
public boolean onAreaTouched( final TouchEvent pSceneTouchEvent, final ITouchArea pTouchArea,final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
if(pSceneTouchEvent.isActionDown()) {
final AnimatedSprite area = (AnimatedSprite) pTouchArea;
PhysicsConnector tPhysicsConnector;
tPhysicsConnector = physicsWorld.getPhysicsConnectorManager().findPhysicsConnectorByShape(area);
physicsWorld.unregisterPhysicsConnector(tPhysicsConnector);
physicsWorld.destroyBody(tPhysicsConnector.getBody());
}
关于android - AndEngine:注册和注销物理连接器的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5883219/