转载自:www.66rpg.com
原作者:Dubealex
Near Fantastica(特别讲)
主讲人(翻译):frantice 电子书制作:小湖
第九讲 Loop 专题
我们先来看看几行脚本: 例1: class For_Loop_Sample def initialize a_local_variable=0 for i in 1..10 a_local_variable+=1 print a_local_variable end end end 这是个重复10次给"a_local_variable"增加1 并显示出结果的功能. 从 1 到 10, 包括 10. 还记得上次我们学过的Range的基本格式吧^0^ 它和我们今天要学的for.. loop格式是一致的. 所以我们如果写成"0...10" 而不是 "1..10"的话,结果还是一模一样的. 顺便说下, 大家发现里面有个i 了吗? 它代表什么呢?.为什么是i 而不是o , m 等等呢? 其实i 是 "Iteration"的缩写, Iteration 就是重复的意思.
我们今天要学习的For .. Loop 就是不断执行动作直到达到结束值为止For .. Loop 就是一直重复着动作并储存变量i 的数量. 我们可以用任何数字(字符)作为起始值和结束值来完成For .. Loop语句. 我们刚学过Range 使用两个点(..) 或三个点 (...). 两个点说明它从起始值开始循环到结束值,并包括结束值. 三个点则不包括结束值.我们看下例子: 例2: class For_Loop_Sample def initialize for i in 1..4 print $game_actors[i].name end end end
默认情况下测试,我们就能看到显示出4个人物的名字.它是怎么样运行的呢? i = 1 时: 我们得到ID为1 的人物的名字, i 是个变量, $game_actors[ i].name 是值id 为i 的角色的名字(可以参考特别讲Near Fantastica 的RGSS语法列表) i = 2 , i = 3 , i =4 时类推
这种写法在RGSS中大量出现,特别是在Window_MenuStatus中, 因为RMXP 在这里用For..Loop.列出了人物. 这是很常用的写法, 今后我们还会接触到很多, 所以要好好掌握哦~~ 最后我们看看下面这行脚本: 例3: class For_Loop_Sample def initialize a_loacal_variable=1 another_local_variable=4 for i in a_loacal_variable..another_local_variable print $game_actors[i].name end end end 和例2有点不同对不对??但是它们的效果是一样的.是不是有点启发了??
|