0
我有兩個精靈BOX & EasyEnemy。他們已經到場了,他們隨機移動。當他們相互碰撞時,我想把容易的敵人作爲BOX精靈的孩子。更改父母的精靈
EasyEnemy來自場景中的通用池。我遍歷所有EasyEnemy內部的BOX sprite onManageUpdate()& BOX sprite像往常一樣創建。
這裏是我的代碼:
private void moveBox() {
aBox = new Sprite(0, 0, aResourceManager.boxTexture, vBOM) {
@Override
protected void onManagedUpdate(float pSecondsElapsed) {
// Iterate over all Easy Enemy
eIt = getEasyEnemyIterator();
while (eIt.hasNext()) {
final EasyEnemy ee = eIt.next();
if (this.collidesWith(ee)) {
aResourceManager.mEngine
.runOnUpdateThread(new Runnable() {
@Override
public void run() {
ee.clearEntityModifiers();
ee.clearUpdateHandlers();
ee.setIgnoreUpdate(true);
ee.reset();
ee.setParent(aBox);
aBox.attachChild(ee);
}
});
}
}
super.onManagedUpdate(pSecondsElapsed);
}
};
attachChild(aBox);
aBox.registerEntityModifier(new MoveModifier(15, 360, 360, 0, 1200));
aBox.setZIndex(9990);
}
我有錯誤,如
E/AndroidRuntime(2876): FATAL EXCEPTION: UpdateThread
E/AndroidRuntime(2876): java.lang.IllegalStateException: pEntity 'EasyEnemy' already has a parent: ''. New parent: ''!
E/AndroidRuntime(2876): at org.andengine.entity.Entity.assertEntityHasNoParent(Entity.java:1412)
在ee.setParent(aBox)之前使用ee.detachself()時不會改變; @Jawad Amjad Vai –
添加支票後,我知道了。@ Jawad Amjad Vai。 –