1

我有这个代码:

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

score.setText(""); 场景.attachChild(分数);

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

在我的 Galaxy S2 (android 4.0.3) 中,这段代码可以正常工作,但在我妻子的 Galaxy S2 (android 2.3.3) 中,场景中的结果是这样的:

0123456789.()nabcdefghijklmnopqrstuvwxyz

是安卓版本的问题?或者我做错了什么?

编辑:

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

奇怪的行为...

4

3 回答 3

1

The Text class in AndEngine is picky. If you want to change the text after you create the object you have to specify the length of the string in the constructor (notice the .length()):

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

If you use it like this:

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

Then I think the text will not change, even after using setText("foo");

于 2012-12-01T18:17:45.597 回答
0

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

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

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

于 2013-07-23T15:08:41.483 回答
0

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

于 2012-11-27T08:40:56.667 回答