旧版本引擎不可变文本用Text, 可变的用new ChangeableText就可以了。查看源码发现新版本引擎没有了ChangeableText,但是对Text做了修改;
实际应用中注意文本长度大小;
eg:
如果你要改变文本内容,比如改变玩家金币分数 金币数初始为5,游戏结束还剩1条命则+5金币:
text = new Text(x, y, mFont, "05",getVertexBufferObjectManager());
mScene.attachChild(text);
int x =Integer.parseInt((String)text.getText());
x+=5;
text.setText(""+x)
没有问题;但是如果是这种情况:
text = new Text(x, y, mFont, "5",getVertexBufferObjectManager());
mScene.attachChild(text);
int x =Integer.parseInt((String)text.getText());
x+=5;
text.setText(""+x)
这里会报数组越界问题;
text new时就已分配大小;
后来发现 text 有提供长度的构造方法:
text = new Text(667, 175, mFont, yourString,"XXX".length(), getVertexBufferObjectManager());这样初始时长度大些就没问题了。