我想标题处理球员模具事件http://www.matim-dev.com/full-game-tutorial---part-13.html无法孩子附加到现场
下给出我有延伸Player类的AnimatedSprite到文本对象附加到一个场景。我创建通过,玩家
mPlayer = new Player(x, y, resourceManager.getVertexBufferObjectManager(), resourceManager.getCamera(), mPhysicsWorld)
{
@Override
public void onDie() {
if (!gameOverDisplayed)
{
displayGameOverText();
}
}
};
的displayGameOverText()
方法给出,
private void displayGameOverText()
{
mCamera.setChaseEntity(null);
gameOverText.setPosition(mCamera.getCenterX(), mCamera.getCenterY());
attachChild(gameOverText);
gameOverDisplayed = true;
}
我也初始化gameOverText在createScene()
方法,
gameOverText = new Text(0, 0, resourceManager.getFontArial(), "Game Over!", mVBOM);
在这个阶段的代码作品罚款和文本游戏结束!当调用onDie()
时显示。
但是,当我重新设计onDie()
方法,如下所示,文字游戏结束!当调用onDie()
时,不显示。
@Override
public void onDie() {
if (!gameOverDisplayed)
{
mCamera.setChaseEntity(null);
gameOverText.setPosition(mCamera.getCenterX(), mCamera.getCenterY());
attachChild(gameOverText);
gameOverDisplayed = true;
}
}
这种行为在我看来很奇怪,因为代码是相同的。唯一的区别是我已经在后面的onDie()
方法中给出了内联代码。
有人能帮我理解是什么导致了这种行为。 logcat中没有写入关于此的日志。
是的,你是对的。 Text对象被连接到Player实体。当我将Text对象附加到场景时,它可以正常工作'SceneManager.getInstance()。getCurrentScene()。attachChild(gameOverText);' – 2013-03-20 15:53:55