我正在尝试将文本对象附加到标题处理玩家死亡事件 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;
}
我还在createScene()
方法中初始化了gameOverText,
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 中没有关于此的日志。