2013-10-18 65 views
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); 

    } 
} 

但它不是正確的方式。什麼是最好的解決方案?

回答

0

您可以在Sprite對象上啓用剔除。這種方式在屏幕不顯示時不會渲染。