由于actionscript :重复操作多次
你要执行的任务,多次在一个单一的框架。 使用一个循环来实现同样的任务,多次在一个单一的框架。 例如,你可以使用一个声明: (无功i = 0 ; i < 10 ;一+ + ) ( / /展示价值一。 含有微量(一) ; ) 当你想执行同样的行动(或略有变化)的多次内部一帧,而使用的一种循环声明中,使你的代码更简洁,易于阅读,也更容易更新。 你可以使用一则声明或一项声明作此用途,但通常是一种声明,是更好的选择。 这两项声明,达到同样的效果,但对声明更为紧凑,也更加熟悉,大多数程序员。 语法一项声明包括五个基本部分组成: 该为关键字 为每个声明必须一开始就有一个为关键字。 初始化表达 河套通常雇用指数变量(称一个循环计数器)这就是初始化声明时,是第一次遇到。 初始化表演只有一次,不管有多少次循环重复。 测试表达 在循环中应包括一个测试表达式返回true或false 。 测试表现进行评价,每年举办一次,时间通过环路。 一般情况下,测试表现相比,该指数变到另一个值,如尽可能多的闭环迭代。 整体表现评价必须以真实为声明的机构来执行(此相反,这与做… … 。 while循环中,执行至少一次,即使试验表达的是假的) 。 在另一方面,如果测试的表达从来没有成为虚假的,你将创造一个无限循环中,从而产生一个警告说,快闪记忆体播放器是运行缓慢(这似乎是经过了15秒) 。 更新的表达 更新表达通常更新的价值变试验中所使用的表达,这样,在某一点上,测试表达变得虚假和终止循环。 最新表达是被处决,每年举办一次,时间通过环路。 一个无限循环,往往造成无法更新适当的变量在更新的表达(通常是同一个变量试验中所使用的表达) 。 声明体 声明体是一个块substatements封闭式花括号是处决每次通过回路。 如果试验表达从来都不是真正的,为陈述的遗体将不被执行。 该为关键字,应该先行,并应遵循由初始化,测试和更新的表现形式被包含在括号内。 分号必须分开三个表现形式之一,另一个(尽管初始化,测试和更新报表都是可选的,分号是强制性的) 。 其余部分为回路组成的声明体密封在花括号。 一般的形式是: (初始化;试验;更新) (声明体) 这里是一个例子,甲声明说,产出有多少0至999 。 由于该指数的变量i是一个本地变量,我们前言,它与无功关键字在初始化表达。 (无功i = 0 ; i < 1000 ;一+ + ) (含有微量(一) ; )含有微量( "这是结束" ) 。 ; 理解为声明中,你可以遵循随由于actionscript译员,因为它工序指挥。 在前面的例子,进行关键字告诉译员,以履行报表内环路为只要有条件表达的是真实的。 初始化表达式只签一次,并确立了变一至0 。 其次,译员抽查检验的表达( < 1000 ) 。 因为我是0 ,这是小于1000 ,表达式的值为true并含有微量( )行动以作声明,身体是执行枪决。 这个拥有actionscript译员,然后执行该更新的声明,在这件事一+ + ,其中递增i的1 。 传译员,然后重复过程中,从最高层的回路(但跳过初始化步骤) 。 因此,译员再次检查是否测试表达是真实的,如果是的话,执行该机构发表声明,再次。 然后执行更新声明。 这个过程重复,直至试验表达的是已经不再正确。 最后一个价值输出窗口中显示的是999 ,因为有一次,我是递增,到1000时,测试表达不再值为true和环路将告结束。 一旦环路终止,继续执行与不管指挥后续回路。 无论初始化和更新表达式可以包括多个行动隔着逗号。 下面的例子同步递增,我和值j以来,并显示他们的价值观念,在输出窗口: (无功i = 0 , j = 10 ; i < 10 ;一+ + , j -) (含有微量( "我是" + i )条;含有微量( " j是" +十) ; ) 前面的例子是不一样用两条为嵌套报表(即显示,在未来典座) 。 它也是共同使用嵌套陈述意见。 当你用一个嵌套对于声明中,使用不同的变量指数比用在最外层为环。 按照惯例,最外层为循环利用变,我和嵌套为回路采用可变j. 举例来说: (无功i = 1的; i < = 3 ;一+ + ) (为(无功j = 1 ; j < = 2 ; j + + ) (微量(一+ " × " + j + " = " + (一* j )段) ; ) ) 前面的例子显示下列乘法表,在输出窗口: 1 × 1 = 1 1 × 2 = 2 2 × 1 = 2 2 × 2 = 4比3 × 1 = 3 3 × 2 = 6 它是可能的巢,多层次的陈述意见。 按照惯例,每增加一级的产卵地利用下一按字母顺序排列的特征为指标的变数。 因此,第三个层次的嵌套为报表通常使用k为指数变量: (无功i = 1的; i < = 3 ;一+ + ) (为(无功j = 1 ; j < = 3 ; j + + ) (为(无功当k = 1 ; k < = 3 ;钾+ ) (微量(一+ " × " + j + " × " +钾" = " + (一* j * k )段) ; ) ) ) 此外,你可以使用报表,以环路落后: / /计数落后,从10比1 。 (无功i = 10 ; i > 0 ; -) (含有微量(一) ; ) 你不应该用一个声明,为履行任务,随着时间的推移。 许多程序员作出错误尝试使用报表,以动画的电影剪辑。 举例来说: (无功i = 0 ; i < 20 ;一+ + ) ( mymovieclip._x + = 10 ; ) 虽然前面的代码动作电影剪辑200像素,以权利为出发点,所有的更新发生在同一帧。 有两个问题与此有关。 首先,在舞台上的更新只有一次,每帧,所以只有一次更新是显示在现阶段缺乏(导致影片剪辑跳到200像素突然而不是移动顺利,在20个步骤) 。 第二,即使现阶段更新更多的时候,每一次迭代中,通过对环只需几毫秒,因此动画会发生得太快。 为行动,你要需要一些时间,用一个onenterframe ( )来处理。 此外,紧缩的重复循环不应当被用来履行冗长过程(凡是需多几分之一秒) 。 flash播放器显示一个警告,每当一个单回路执行,为超过15秒。 用onenterframe ( )搬运或setinterval ( )函数避免了警告信息,并允许快闪履行其他行动,除了一再行动,是部分的回路。 这是一篇文章说,由萨文比加布里埃尔
|
|||
|