for循环、while循环、定时器循环是开发语言级别的循环控制,所有开发语言基本都支持。
基于FlashPlayer弹性跑道执行模型,在ActionScript语言中还支持另外一种特殊的循环控制:帧循环。
也就是设置事件监听器,监听由FlashPlayer发出的周期性帧事件:Enter_Frame,在监听函数中作处理。
由于事件Enter_Frame是周期性发出的,所以监听函数也是周期性调用的,就像循环。
帧循环是ActionScript语言特有的。
Flex框架的预加载应用中使用到了帧循环。
参考:
《实战Flash游戏开发》 --<1.4.2游戏循环(或者说“主循环”)>
==========================================================
在像C这样的编程语言中,主循环确实是一种代码循环(如while循环或for循环),只有当满足某种条件时它才运行。
主循环有时也被称作状态机(state machine),因为这种逻辑能确定游戏所处的“状态”(游戏开始前,游戏进行中以及游戏结束后等状态),并且会执行相应的函数。
而在ActionScript中,你却必须要以不同方式来创建主循环,因为周期性的代码循环将FlashPlayer一直锁死到游戏结束。由于Flash原本是一款动画制作软件,它的工作方式离不开帧,这和电影很相像。Flash可以定义帧速率或者说每秒帧数。每经过一帧,Flash都会更新屏幕,此时非常适宜执行游戏逻辑。这对于惯用其他编成语言的开发者来说似乎有点别扭,但人们很快就能习惯它。我以后再讨论游戏循环,因为它们是游戏代码的驱动力。