我有这段代码:
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”
奇怪的行为......
答案 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());
它将分配内存和加载字符。