 |
转载自:www.66rpg.com
原作者:Dubealex
Near Fantastica(特别讲)
主讲人(翻译):frantice 电子书制作:小湖
第二讲 基本词汇和语法(上)
一些基本的废话将完了,我们直接进入正题^0^..接下来的请大家一起跟我实践~ 先在RGSS编辑器中新建一个脚本,插入这些: class Say_Something def initialize print “I am therefore I’m coded” end end 然后找个npc并在他事件页的脚本那里写入Say_Something.new 点他后我们看到什么了呢?冒出来一个写着” I am therefore I’m coded”的窗口. 这是为什么呢?让我们来一行一行地看: class Say_Something 这里我们创建了一个叫Say_Something 的class (类) def initialize 这里我们定义了一种新的方法叫Initialize (初始化) print “I am therefore I’m coded” 我们增加了当”initialize”的方法被调用时执行的东西 两个end是语法
我们再进一步学习: “initialize” 是一种默认的方法,当你在事件中调用脚本时候执行. 脚本语句”Say_Something.new” 你用”new”的信息命令 RMXP 来创建Say_Something的对象 关于end: 哪些词语需要用end来结束呢?看看这个.是不是清楚了点呢?:

|
 |
好了,我们回头看看事件页写的那行” Say_Something.new” ,注意到了吗, 它前面没有写对象, 我们可以试着改为” my_object = Say_Something.new” , 效果是一样的,不过心里舒坦了点吧…….这是为什么呢??? 这里我们创建了一个新的目标对象叫”my_object” ,它应该是在”Say_Something”这个class里的,但是我们开头那个”Say_Something “,除了一条信息外空空如也..所以我们没必要在事件那里多一个对象.
那么,我们来给这个空空如也的”Say_Something “类多点什么吧! 重新替换开头那行脚本为: class Say_Something attr_accessor :greeting attr_accessor :name def initialize(greeting, name) @greeting=greeting @name=name end def say print @greeting + “ “ + @name end end 然后在那个npc事件脚本里重新写为: message1=Say_Something.new(“Hello”, “Alex”) message2=Say_Something.new(“Hello”, “Peter”) print message1.name print message2.name message1.say message2.say
执行看,是不是华丽多了?我们看到4个冒出来的窗口.分别显示”Alex”,”Peter”,”Hello Alex”和”Hello Peter” 这里我们创建了两个目标”message1”和”message2”他们都依靠”Say_Something”类,就像第一讲里那个汽车厂的例子一样,改变一个是不会影响另一个的. 那么他是如何运行的呢?请看第三讲.
|