Andengine 中可变文本 Text 使用中遇到的问题

来源:互联网 发布:日语过n2 知乎 编辑:程序博客网 时间:2024/05/21 07:45

旧版本引擎不可变文本用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());这样初始时长度大些就没问题了。