作者共发了1篇帖子。 内容转换:不转换▼
 
点击 回复
423 0
【教程】跟我从头学脚本(九)
高级弟子 五级
1楼 发表于:2011-2-10 23:43
转载自: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有点不同对不对??但是它们的效果是一样的.是不是有点启发了??

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:423 回复数:0
评论数: ?
作者:蓝晶の骑士
最后回复:蓝晶の骑士
最后回复时间:2011-2-10 23:43
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。