0
我写了一些壁纸。它代表掉落的许多精灵。当它飞出屏幕时,我想将它们从场景中分离出来。我怎样才能做到最佳? 现在我用这个代码:Andengine + Box2d。删除精灵,当它不可见用户
for (int i = 0; i < getScene().getChildCount(); i++) {
if (i < getScene().getChildCount())
removeSprite((Sprite) getScene().getChildByIndex(i));
}
private boolean removeSprite(final Sprite sprite) {
if ((sprite.getX()>CAMERA_WIDTH+sprite.getWidth()*2 || sprite.getX()<-sprite.getWidth()*2) && (sprite.getY()>CAMERA_HEIGHT+sprite.getHeight()*2 || sprite.getY()<0-sprite.getWidth()*2)) {
final PhysicsConnector spritePhysicsConnector = physicsWorld.getPhysicsConnectorManager().findPhysicsConnectorByShape(sprite);
physicsWorld.unregisterPhysicsConnector(spritePhysicsConnector);
physicsWorld.destroyBody(spritePhysicsConnector.getBody());
getScene().unregisterTouchArea(sprite);
getScene().detachChild(sprite);
}
}
但它不是正确的方式。什么是最好的解决方案?