我在尝试使用Actionscript制作游戏循环时遇到了很多麻烦。搜索了很多,无法找到答案。我的想法是:
当游戏开始时,它根据速度定义单位攻击顺序(每个玩家可以有8个单位,任何类型)。我将此序列存储到数组中。我确实在Javascript中创建引擎,在console.log中返回值...并且工作正常......但是将它传输到AS3,事情并没有像我想的那样工作。
所以...我有序列...现在我做循环 这是我的逻辑(不使用任何特定语言):
for (i = 0; i < sequence.length; i++) {
isHitting = sequence[i]; // first unit from list is the hitter
isDefending = mostPowerfulEnemy(); // method to check who will be attacked
// here is the problem!!!!
isHitting.moveTo(isDefending); // method to move the MC near the target
var kills = isHitting.hit(isDefending); // calc the damage and return the kills
if (isDefending.amount <= 0) {
// remove the MC from Stage and the sequence list
continue; //to move to the next hitter in sequence
} else {
isDefending.amount -= kills;
continue; //to move to the next hitter in sequence
}
}
问题是:所有单位都在同一时间移动! 我已经了解了事件,方法addEventListener()听起来是最好的选择,但我必须调用一个函数,对吗?我这样做......所以单位移动到了......点击......然后停止......我需要一种方式来说:“嘿,这个单位已经完成了他的行动,确实停了下来并击中了目标,你现在可以继续循环“(因为我不能返回一个继续,ofc)
这就是我想要的:
有什么建议吗? 对不起我的英文不好。