我正在使用Andengine开发2D游戏,这款引擎效果很好。我现在面临的问题是我使用Text类引擎来显示屏幕上的分数,当我更新文本时它会导致滞后。任何人都可以告诉我这个问题是什么吗?这是我正在更新文本的代码。
final ITexture scoreFontTexture = new BitmapTextureAtlas(this.getTextureManager(),256,256);
mScoreFont = FontFactory.createFromAsset(this.getFontManager(),scoreFontTexture,this.getAssets(),"african.ttf",20f,true,Color.WHITE);
mScoreFont.load();
scoreText = new Text(340, 10, this.mScoreFont, "Score \n 0","00000000000".length(), getVertexBufferObjectManager());
myScene.attachChild(scoreText);
final TimerHandler handler=new TimerHandler(1.3f,true ,new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
mPlayerScore++;
scoreText.setText(mPlayerScore+"");
}
});
myScene.registerUpdateHandler(handler);
答案 0 :(得分:1)
我也遇到过这个问题。似乎AndEngine只在需要数字时从Font加载一个数字,这会导致延迟,因为加载时间很慢。
初始化scoreText,其值为“Score \ n 0123456789 ”为我解决了问题,它强制AndEngine加载所需的所有数字。