基本上,我正在使用ActionScript 2.0制作一个非常简单的回合制游戏。
我对代码非常陌生,只有非常有限的Visual Basic知识,所以我很高兴地承认我并不知道我在做什么。我有一个开始,但我决定改写整个事情因为我不能轻易地循环敌人和等级。
我已经两次using _root.attachMovie
生成了同一个敌人,并将它们确定为Enemy1和Enemy2。产卵后,我试图让他们认同自己:
_root.Enemy1.identify = "Enemy1"
_root.Enemy1.identify = "Enemy1"
使用调试器,这显然有效(在movieclip中,它们有一个名为identify的变量,它正确地标记它们),但是当我尝试使用if语句以便我可以将它们放在各自的位置时,它只是不行;它直接掠过。我在影片剪辑中的代码是:
if (identify == "Enemy1") {
function poschange() {
_root.Enemy1._x = _root.Enemy1.POSX;
_root.Enemy1._y = _root.Enemy1.POSY;
_root.Enemy1.swapDepths(_root.Enemy1.POSY);
}
} else if (identify == "Enemy2") {
function poschange() {
_root.Enemy2._x = _root.Enemy2.POSX;
_root.Enemy2._y = _root.Enemy2.POSY;
_root.Enemy2.swapDepths(_root.Enemy2.POSY);
}
}
poschange();
poschange函数适用于玩家角色,只有这个if语句才能识别哪个敌人明显失败。
所以我的问题是:电影剪辑是否有更简单的方法来识别自己的ID,所以我不必使用这种方法,或者我的代码是否有问题?