全自动回合制战斗设计问题

abchina 2008-07-31 05:27:50
简述一下:游戏当中,遇到怪物以后会进入战斗场面,然后全自动一回合一回合的打,直到任何一方死亡。
战斗时,是按照进入战斗的所有战斗部队的敏捷度的先后来排列的,敏捷高的先攻击。

进入战斗,battleField = new Sprite();
战斗显示等都在 battleField 中进行

战斗的循环大致如下:


while (!playerWin() && !playerLose()) {

// 找到最敏捷度最高的部队 发动攻击者attacker
attacker = isWhoRound();

// 找到被随机攻击的部队 被攻击者attackee
attackee = attacker.randomAttack(army);

// 显示攻击动画
showAttackVideo(attacker,attackee);
}



等所有的战斗结束后,把刚才生成的 battleField 删除掉

思想大概就是这样,问题出在 战斗一触发,上面代码的循环很快就结束了,然后就把生成的battleField remove 了,都还没来得及播放动画,已经战斗结束,回到非战斗画面了,已经困扰多时,希望各位给个解决方法,谢谢了

...全文
188 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
abchina 2008-07-31
  • 打赏
  • 举报
回复
补充:

另外一点,我在战斗循环当中还有一个
// 显示攻击动画
showAttackVideo(attacker,attackee);

但是战斗的(while)循环是不会等待这个攻击的动画(showAttackVideo(attacker,attackee))的。
循环很快结束,而里面每一次循环都有一个战斗动画,这样的话:所有的动画都几乎是同时间运行的。
可是我的本意是想一个动画接着一个动画去显示。

2,278

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧