跟我一起学ruby
By Tiger
注:本教程转载自在游戏先行者论坛,版权属于作者Tiger。
第一篇
第二篇
第一篇
自序
从今天起我就要开始学Ruby了。怎么样,没见吧?一个新人写教程。就凭我坚强的毅力,科学的自学方法,以及我的钻研精神,我有信心学通Ruby,而同样是新手的你也可以!由于本教程是菜鸟教莱鸟若有什么不对的地方还请前辈指教!如果没人看,就当我自愚自乐了。
======================================================================
卷首语
--------------------------------------------------------------------------
准备知识
一、为什么要学Ruby?
不用说一定是帮助发挥RM的潜力啦。而Ruby有多好多坏都与我无关,因为我学它只为了一个原因--RM!
二、什么是Ruby?
它是一种纯粹的面向对象编程的脚本语言。这就像C语言啦,就是一种电脑听得懂的语言,就好比你对电脑大叫一声“我要上网”它是不会让你上网的,必须通过一种语言来告诉它,Ruby就是其中之一,当然Ruby也要用打的,不是用说的...
三、学Ruby要准备啥?当然是RM了,我还准备了三个东西:
.笔记本--别看不起它,这可是重中之重,你的一些疑问与炅感、研究得出的结论都可记在上面.
.一个新工程,我暂时把它命名为Test,它将用研究与实践.
.另一个新工程,我暂时把它命名为标准,它的作用是万一你把自带的Ruby改得面目全非,有它可以做参照。当然RM的脚本数据是保存在 Data 文件夹内的 Scripts.rxdata 文件中的,你也可以对此文件进行备份。
--------------------------------------------------------------------------
实践基础
一、关于脚本脚本编辑器:
.RM中,进入脚本脚本编辑器的方法是按F11或在主菜单「工具」菜单中选择「脚本编辑器」。。
.脚本编辑器中一些快捷键(感谢carol3,这不是我发现的):
tab:可以跳格、能够自动进行缩进
ctrl + 鼠标滚轮 : 调整文字的大小
ctrl + F:查找本页脚本
ctrl + shift + F:查找所有脚本
ctrl + H:替换
ctrl + A:全选
ctrl + C,ctrl + V:拷贝粘贴
ctrl + Z,ctrl + Y:撤销与重做
F3:和ctrl + F配套使用,"查找下一个"
F4,F5:选择上一个/下一个脚本
F6:把现在选的这一行命名为本脚本名
ctrl + enter:保存并关闭本窗口
二、创建程序的步骤:
.确定程序的目标-比如你的目标是做一个求三角形面积的程序。
.确定要使用什么样的方法-我知道S=1/2ah=1/2abSinC,求角度太烦,且后者不是单独的乘除运算,故吾选前者。
.创建程序。
三、编程中应养成的好习惯:
.写注释。很多人认为写注释是在浪费时间——但别忘了——当你在写代码时,也许你的思路清楚;然而当程序逐渐变大,或当你面对几个月前写的代码时,注释的作用就显而易见了。
在 Ruby 中,# 符号后面的一整行文字会认定为注释。当你要写大块的注释时, 也可以用 =begin 和 =end 的中间的一切为注释。
注释是绿色的,不会执行,不会影响到程序的运作,只作为编写者标记的备忘记录来使用。
未完成...
四、编译错误的看法
当你拼写、语法有错误了,程序就会停止运行,并告诉你相关的信息,此时再按F11进入脚本编辑器,就会看到光标放在了出错的那一行。
如图:
行:未初始化的常量“Persond”
具体的方法我还没有总结。未完成...
--------------------------------------------------------------------------
Type&Run
(本来下文是不准备发的,但有人说本教程写的有些脱离RM,所以发了下文——不准备发的原因是我不知道carol3的“RGSS区置顶脚本整理中,目前收集脚本:30,望大家添加”一帖中竟然有教程!而且有一部分与我的几乎一样,算了,为了保证教程的完整性,我就把我写的发上来了...绝非抄袭!)
让我们来入手Ruby:
实践:标题画面的部分自定义
实践目的:
.学会Ruby的研究方法。
.学会根据注释来做一些实验。
.熟练脚本编辑器中一些快捷键的使用。
打开脚本脚本编辑器
.在脚本脚本编辑器的左边找到scene_title
.可以在右边的筐架中看到第一行:
#=====================================================================
# Scene_Title
#------------------------------------------------------------------------------
# 处理标题画面的类
#=====================================================================
我们知道这是注释,它的意思就是说scene_title这代码是用于处理标题画面的。同理,我们可以随便看看其它的组(组就是类似scene_title的在脚本脚本编辑器的左边的一窜一窜的代码),怎么样,它们的用途一目了然吧!
.既然知道它是用于处理标题画面的,我们就拿它开刀吧!
游览一下:读取数据库;生成系统对象;...这些都太深奥了在往下看——
s1 = " 新游戏"
s2 = " 继续"
s3 = " 退出"
终于看到了熟悉的中国字了,呵!这不是RM中标题画面的选项吗!
看看它上面的注释——生成命令窗口。果然是标题画面的选项。
我们改了它试试:
s1 = "新的轮回"
s2 = "旧的回忆"
s3 = "随风而逝"
按ctrl + enter:保存并关闭本窗口。
再按F12运行游戏。果然成功了!
.人的野心总是无限的,我还想添加一个关于本游戏!好再试试:
s1 = "新的轮回"
s2 = "旧的回忆"
s3 = "随风而逝"
s4 = "关于本游戏"
.贪得无厌总有一些心虚,再看看它下面的内容再运行游戏吧!
@command_window = Window_Command.new(192, [s1, s2, s3])
@command_window.back_opacity = 160
@command_window.x = 320 - @command_window.width / 2
@command_window.y = 288
有x、y大盖是在说选项的框框吧!糟了,多了一个选项,框框就一定要变长,如果不去修该框框的属性选项会出现选项无法显示出来的情况。管它呢!就算是真的我也无能为力...
第一行有个(192, [s1, s2, s3])s1,s1,s3好象与s1 = "新的轮回"等中的s1,s1,s3说的是同一个东西吧?既然我加了s4,就得把s4也加进去:
@command_window = Window_Command.new(192, [s1, s2, s3,s4])
s4;s3之间学它样也用 , 连接。
.再运行游戏。果然出现了关于本游戏选项而且框框也能自动调整把四个选项纳入其中。可见我们刚才的猜测是错的,有x、y大盖是在说框框
的位置?
由图可知:红色框中的星星与框框上端的相对位置在修改前后没有变过,而蓝框中框框下端与RPG字符的相对位置的相对位置发生了变化,也就是说,框框上端的位置是不变的,当有新的选项时,自动延伸框框的下端。而有x、y大盖是在说选项的框框的上端的位置?
.再试试:
#-----------

