Andengine文本更改导致滞后

时间:2014-04-03 17:26:28

标签: android andengine game-engine physics-engine

我正在使用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);

1 个答案:

答案 0 :(得分:1)

我也遇到过这个问题。似乎AndEngine只在需要数字时从Font加载一个数字,这会导致延迟,因为加载时间很慢。

初始化scoreText,其值为“Score \ n 0123456789 ”为我解决了问题,它强制AndEngine加载所需的所有数字。