我想为我的游戏生成村民,然后将它们组织成一个列表,但我遇到了一些困难,这就是它应该看起来的样子,而这就是它实际的样子。生成亲属的代码是:
var k = new kinsmen ;
menuArea.kinsmenDivider.addChild(k);
totalKinsmen++;
totalKinsmenAlive++;
k.name = "kinsmen" + totalKinsmen;
用于对它们进行排序的代码是:
for (var i:int = 1; i < (totalKinsmen+1); i++) {
if (menuArea.kinsmenDivider.getChildByName("kinsmen"+i) !=null) {
menuArea.kinsmenDivider["kinsmen" + i].y = menuItemCount * 107.5;
menuItemCount++;}}
这应该查看曾经存在的每个亲属的 ID,当它找到一个活着的人的 ID 时,它应该在菜单中给它一个位置并继续查看其他 ID。
trace ("kinsmen" + totalKinsmen);
trace (menuArea.kinsmenDivider.getChildByName("kinsmen"+i));
在我的测试中,两者总是具有相同的值。调试器在运行时发布以下错误:
TypeError: Error #1010: A term is undefined and has no properties.
当我删除 ["kinsmen" + i] 时,它会停止给出错误,并且每次生成新的 kinsmen 时整个菜单都会向下移动,所以我知道这是导致问题的部分,但我不知道为什么或如何解决它并且会感谢帮助,以上所有代码都在我的文档类中。几天前我才开始编写 AS3,所以我还是有点不放心。为阅读喝彩。