Android 2.3.3中的Andengine setText意外行为

时间:2012-11-26 21:33:45

标签: text andengine android-version

我有这段代码:

score = new Text(20, 50, font, "0123456789.()abcdefghijklmnopqrstuvwxyz", vbom);

score.setText( “”);     scene.attachChild(评分);

我在互联网上读到,在开始使用Text时,需要列出将要使用的所有字符。

在我的Galaxy S2(android 4.0.3)中,这段代码正常工作,它在现场没什么, 但是在我妻子的Galaxy S2(android 2.3.3)中,现场的结果是这样的:

0123456789.()nabcdefghijklmnopqrstuvwxyz

是android版的问题?或者我可能做错了什么?

编辑:

如果我使用score.setText("a");代替score.setText("");,还有一条线索 比输出是“a”

奇怪的行为......

3 个答案:

答案 0 :(得分:1)

AndEngine中的Text类非常挑剔。如果要在创建对象后更改文本,则必须在构造函数中指定字符串的长度(请注意.length()):

Text score = new Text(20, 50, font, "test", "test".length(), vbom);

如果你这样使用它:

Text score = new Text(20, 50, font, "test", vbom);

然后我认为即使在使用setText("foo");

之后,文本也不会改变

答案 1 :(得分:0)

这是一个典型的问题。我在游戏中遇到了同样的问题。 A会建议你隐藏文本(或者将其分开并在以后需要时附上它)。

答案 2 :(得分:0)

为避免游戏延误,您应该使用

mFont.prepareLetters("0123456789".toCharArray());

它将分配内存和加载字符。