Actionscript 回合制游戏循环

Actionscript 回合制游戏循环,actionscript,game-engine,Actionscript,Game Engine,我在尝试用Actionscript制作一个游戏循环时头疼不已。搜索了很多,但找不到答案。我的想法是: 当游戏开始时,它根据速度定义了单位的攻击顺序(每个玩家可以拥有8个单位,任何类型)。我将这个序列存储到一个数组中。我确实用Javascript创建了引擎,返回console.log中的值。。。而且效果很好。。。但是把它运到AS3,事情并不像我想的那样运作 所以。。。我有序列。。。现在我做循环 这是我的逻辑(不使用任何特定语言): for(i=0;i

我在尝试用Actionscript制作一个游戏循环时头疼不已。搜索了很多,但找不到答案。我的想法是:

当游戏开始时,它根据速度定义了单位的攻击顺序(每个玩家可以拥有8个单位,任何类型)。我将这个序列存储到一个数组中。我确实用Javascript创建了引擎,返回console.log中的值。。。而且效果很好。。。但是把它运到AS3,事情并不像我想的那样运作

所以。。。我有序列。。。现在我做循环 这是我的逻辑(不使用任何特定语言):

for(i=0;iif(isDefending.amount)这就是我想要做的…看起来很简单=(这张图片并没有让我更清楚。基本上,它听起来像是你有一个动作列表,你想以一种定时的方式进行(包括等待动画发生)。要编写能够做到这一点的代码,我假设你需要了解AVM2是如何实现的(又名FlashPlayer)内部工作,我认为这与浏览器渲染引擎不同。这是一个很好的开始:阅读这篇文章可能有助于理解发生了什么,也许你想看看已经有哪些框架可以帮助你。我想我想说的是:当对象的运动之间没有变化时,如何停止我的主循环一个?您可以尝试的最简单的方法可能不是最有效的方法,也可能与本主题中的最佳实践相矛盾,就是在框架(event:event)
上使用一个方法
函数,作为调用
addEventListener(event.ENTER\u FRAME,onFrame)的事件处理程序
并将方法体视为循环的
体:检查动画是否完成:当不
返回时;
(等待下一帧再次调用方法),否则执行列表中的下一个操作。没有(其他)方法暂停代码执行,然后在AS3中变为异步。(代码执行时间!=渲染时间)所以…我就快到了,使用一个调用addEventListeners的递归函数。但是还没有准备好。这是我的个人项目,我最近没有太多时间。谢谢。
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
    }
}