我每次单击时都使用action-script 3创建一个名为bullet的子项。当我第一次点击时它可以工作,我可以通过向子弹x速度加1来移动它,但是当我再次点击添加一个新的子项时,我添加的新项目不会移动。谢谢你的帮助!
答案 0 :(得分:1)
我找到了答案!你需要将它添加到一个数组然后使用' arrayname' [b] .x + = 1来移动它!
答案 1 :(得分:0)
您在创建新对象并将其分配给旧参考时失去了对象的引用。您必须像在数组中一样保留数组中的引用,或者更好的方法是为您创建封装其行为的新类。然后你只需要创建你的类的对象并自行移动。
答案 2 :(得分:0)
你要做的是这样的事情:
我走进一个有两个人的房间。一个名叫约翰史密斯,一个名叫约翰罗宾逊。你给我一块蛋糕,说:“请你把它交给约翰?”,然后马上离开。我不知道你的意思是约翰,所以我只是把它交给约翰史密斯。当您尝试将这些项目符号命名为bullet
时,AS3只会记住其中一个名称为“bullet
”的项目符号。名称只能引用一个对象。相反,让我们创建一个包含所有项目符号的数组,每当我们需要对所有项目符号执行某些操作时,我们只需访问数组中的每个项目!
var bulletArray:Array = []
function updateBullets() {
//repeat an action for every item in bulletArray
for (var i=0;i<bulletArray.length;i++) {
var targetBullet = bulletArray[i]
targetBullet.x += 1
//anything else we want to do goes here
}
}
现在,无论何时创建新项目符号,还要将其添加到bulletArray
!