资源描述:
《跟我从头学脚本.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、跟我从头学脚本(一)原作者:Dubealex NearFantastica(特别讲)主讲人(翻译):frantice电子书制作:小湖第一讲什么是Ruby?什么是RGSS?首先请在工程中按下F1看基本知识我不重复别人说的话了.Ruby它诞生于1993年2月24日,它是面向对象的解释性语言(即00),任何一种00语言都包含以下4个部分:-Class类-Methods方法 -Messages -Arguments -Variables/Constants变量和常量 它们之间的关系:一个对象的例子
2、假设class为一个汽车制造厂,那么目标就是汽车.汽车制造厂包含所有来制造汽车的功能,每辆车都是一种同样东西的不同形式.这些不同的汽车形式也是不同的对象,也可以在不改变其他汽车对象的基础上在加以改造.当汽车公司需要另一辆汽车的时候,他们只用简单地向汽车制造厂要求制造一辆新车,只要盖好了一个工厂(就是class-类)你就不需要每次都去重复地对汽车(object对象)操作了. 一个处理对象的例子在RPGMakerXP里,你的人物都有很多属性,如”名字””HP””等级”等等,这些在游戏里都能打开菜单看到.它们是靠后
3、台执行你所发出的指令来完成显示的.一种方法事实上定义了目标对象接收到什么信息,接受到会发生什么.所以说,每次消息传送或接收,对象都是和它的制造者(class-类)所关联,靠相关的方法来执行.回到人物的例子,我们就知道了有一种类专门定义人物,这个类有种为你发给目标对象的信息而生成的方法.然后我们就找到一种叫”name”的方法什么是RGSS?“RubyGameScriptingSystem”是RGSS的全称,它不是一种语言.鉴于大家都知道它是音乐测试左边那个按扭,其他不多说了.下面看个例子,一行描绘图片的脚本:im
4、age=Sprite.new image.bitmap=RPG::Cache.picture(nameofpicture) 理论上,要在屏幕上显示出图片需要2行脚本,因为你要使用一个叫”Sprite”的类,"Sprite"在RMXP中已事先编好(不在脚本编辑器中).也需要一个module模块(也不在脚本编辑器中) RGSS编辑器脚本里的字体各有颜色,不同的颜色都有什么含义呢?蓝色:语法,如def,class,end,when,if,case…..红色:数字,如1,2,3,4,………….浅蓝色:符号,如+,
5、*,=,
6、
7、, 绿色:注释,不被执行的内容紫色:自己看--常用快捷键Control+F本脚本页中寻找Control+Shift+F全局搜索Control+H替换Control+G转到第几行第二讲基本词汇和语法(上)一些基本的废话将完了,我们直接进入正题^0^..接下来的请大家一起跟我实践~先在RGSS编辑器中新建一个脚本,插入这些:classSay_Something definitialize print“IamthereforeI’mcoded” end end 然后找个npc并在他事件页的
8、脚本那里写入Say_Something.new点他后我们看到什么了呢?冒出来一个写着”IamthereforeI’mcoded”的窗口.这是为什么呢?让我们来一行一行地看:classSay_Something 这里我们创建了一个叫Say_Something的class(类)definitialize 这里我们定义了一种新的方法叫Initialize(初始化)print“IamthereforeI’mcoded”我们增加了当”initialize”的方法被调用时执行的东西两个end是语法我们再进一步学习:“i
9、nitialize”是一种默认的方法,当你在事件中调用脚本时候执行.脚本语句”Say_Something.new”你用”new”的信息命令RMXP来创建Say_Something的对象关于end:哪些词语需要用end来结束呢?看看这个.是不是清楚了点呢?:好了,我们回头看看事件页写的那行”Say_Something.new”,注意到了吗,它前面没有写对象,我们可以试着改为”my_object=Say_Something.new”,效果是一样的,不过心里舒坦了点吧…….这是为什么呢???这里我们创建了一个新的目标
10、对象叫”my_object”,它应该是在”Say_Something”这个class里的,但是我们开头那个”Say_Something“,除了一条信息外空空如也..所以我们没必要在事件那里多一个对象.那么,我们来给这个空空如也的”Say_Something“类多点什么吧!重新替换开头那行脚本为:classSay_Something attr_accessor:greeting at