我写了一些壁纸。它代表了许多倒下的精灵。当它飞出屏幕时,我想将它们从场景中分离出来。我怎样才能以最佳方式做到这一点?现在我使用这段代码:
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);
}
}
但它不是正确的方法。存在哪些最佳解决方案?