作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题与 Android/AndEngine 有关,但总体上与 Java 相关。
我有一个 for 循环,用于附加数组中的处理矩形。这是我的代码。
try {
if ((NPCrectangle.size() > 0) && (NPCbody.size() > 0)) {
System.out.println("NPCrectangle size is "+NPCrectangle.size());
for (int i = 0; i < NPCrectangle.size(); i++) {
System.out.println("For loop ran for NPCrectangle "+i);
for (int j = 0; j < NPCbody.size(); j++) {
NPCrectangle.get(i).setX(NPCbody.get(j).getPosition().x*32);
attachChild(NPCrectangle.get(i));
System.out.println("RECTANGLE ATTACHED FOR NPC"+i);
}
}
}
} catch (Exception e) {
// TODO: handle exception
}
在
System.out.println("NPCrectangle size is "+NPCrectangle.size());
for (int i = 0; i < NPCrectangle.size(); i++) {
System.out.println("For loop ran for NPCrectangle "+i);
我得到“NPCrectangle 大小为 2”,但随后我只得到“For 循环运行 NPCrectangle 0”。它永远不会对数组的第二个元素执行任何操作。这是为什么?
这是我的收获:
04-25 18:45:45.420: W/System.err(2235): java.lang.IllegalStateException: pEntity 'Rectangle' already has a parent: 'GameScene'. New parent: 'GameScene'!
04-25 18:45:45.420: W/System.err(2235): at org.andengine.entity.Entity.assertEntityHasNoParent(Entity.java:1707)
04-25 18:45:45.420: W/System.err(2235): at org.andengine.entity.Entity.attachChild(Entity.java:907)
当您尝试两次附加同一个 Sprite 时,这是一个错误。有建议吗?
最佳答案
这个循环
for (int j = 0; j < NPCbody.size(); j++) {
NPCrectangle.get(i).setX(NPCbody.get(j).getPosition().x*32);
attachChild(NPCrectangle.get(i));
System.out.println("RECTANGLE ATTACHED FOR NPC"+i);
运行多次,具体取决于NPCbody.size()
,但会附加相同的矩形。 NPCrectangle.get(i)
,每次。因此,您第二次通过内部循环时会收到错误。
关于java - For 语句不适用于每个数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225758/
我是一名优秀的程序员,十分优秀!