加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 喵呜喵5 于 2014-2-4 14:00 编辑
在K岛看到完整版的翻译了,所以我自己接下去的翻译就弃坑了啦啦啦
https://googledrive.com/host/0B2GGQwUSXTWfVVNMd05iVlB5Nkk/
(可能需要翻墙)
======================================
↓个人已翻译部分留档
==========================================
以下的内容翻译自RPG制作大师VX Ace的官方帮助文档中的スクリプト入門-実践編,共包含以下内容:
タイマーの改造
あらすじ画面の作成
脱出アイテムの作成
アイテム消費スキルの作成
景品交換所の作成
テレポートアイテムの作成
タイトル画面の改造
如同标题所说,这是一个RGSS脚本教程,而不是Ruby编程语言教程,并且已经是实践篇了,所以我不负责普及Ruby语言的知识。如果你是一个完全没有编程基础的人,建议你先去学习一下Ruby语言或者C语言或者至少去看看RMVX的中文帮助文档中的基础篇和解读篇(传送门:http://pan.baidu.com/s/1OIwk)。
(另外再说一句,别觉得自己初中高中义务教育课上学的那些东西叫编程基础……幼儿园你就会加减乘除了你想想你自己现在数学学成个什么样= =,义务教育课上学习的那些内容最多只是一点皮毛罢了。)
整个翻译工程的进度和完成度需要看我的心情,请不要催稿……
你可以转载这篇文章,但请不要抹去这篇文章的地址(http://rpg.blue/forum.php?mod=viewthread&tid=343091)。
(↑ 当然,也不要抹去上面这句话。)
如果任何翻译的错误或者编程上的错误可以直接在留言中告诉我。如果对我的翻译有哪句无法理解或者看不懂也可以直接告诉我。
那么以下便是正文。
实践篇目的是说明如何用脚本实际对游戏进行改造。
首先从事件指令中『计时器操作』的计时器显示方式开始。
最开始先关掉脚本编辑器,在地图上新建一个计时器事件用来测试。 如图中这样,设置成自动执行,这样一打开游戏就可以对改造后的效果进行确认。
之前基础篇部分让你测试的那些脚本已经不会使用了,请删掉他们,在脚本编辑器「▼ 素材」的下方插入一个新的脚本,起一个合适的名字。 虽然也可以在原脚本部分直接编辑,不过把所有对原脚本的改变全部都合在一起从各方面来说都更加方便一点。因此,即使你不打算把这个脚本作为素材公开发布也建议你在「▼ 素材」下方插入新脚本。
开始写脚本前的第一件事便是找到为了实现自己的目标而需要进行修改的地方。 这次要改造的是计时器,所以全局搜索一下『计时器(タイマー)』吧,注意不要勾选『仅全词匹配』。搜索出来的结果总共有哪几条?依次看下去,寻找和计时器有关的部分。 这次要改的计时器就是『Sprite_Timer』这个脚本。脚本的介绍在脚本开头也有。改造特定的功能就是如此的简单,掌握诀窍的话很快就能找到需要修改的脚本位置。
在新创建的这个脚本中,输入:在Ruby编程语言中,已经定义过的东西可以通过再次定义来变更。因此,在我们写在class Sprite_Timer和end中间的内容也可以看成是对原来那个class Sprite_Timer的修改。 阅读原本的Sprite_Timer脚本应该可以找到一个名为create_bitmap的方法,这个方法设定了计时器的文字颜色及大小,这次我们要改造的就是这里,复制create_bitmap这个方法,粘贴到我们新建的这个脚本中。脚本变成了现在这样:- class Sprite_Timer
- def create_bitmap
- self.bitmap = Bitmap.new(96, 48)
- self.bitmap.font.size = 32
- self.bitmap.font.color.set(255, 255, 255)
- end
- end
复制代码 新的脚本和旧的脚本中都出现了名为create_bitmap的这个方法(def create_bitmap),在Ruby语言中,同一个类(class Sprite_Timer)中出现两个名字相同的方法(def create_bitmap)时是只会识别放在最下方的那个脚本中的方法的(即,只认我们新写的这个脚本中的def create_bitmap),所以,我们可以用这个脚本中的create_bitmap替换掉原本的create_bitmap。这便是脚本的实质(同时也是脚本冲突的实质嗯= =)。
把刚才的create_bitmap这个方法实际的来修改一下吧。
- class Sprite_Timer
- def create_bitmap
- self.bitmap = Bitmap.new(128, 96)
- self.bitmap.font.size = 64
- self.bitmap.font.color.set(255, 0, 0)
- end
- end
复制代码 按照上面的数字进行修改后,计时器显示的文字成功放大并且变成红色的了。
对于这里的这些数字的意义还不甚了解的人可以把数字自己改一改来实验一下,如果想要详细确定其意义的话可以参考Bitmap、Font、Color这三个类。
通过上面的步骤我们已经完成了一个『计时器显示文字放大变红』的脚本素材,然而,如果要把这个脚本给其他人使用时由于我们覆盖了原本的create_bitmap,所以脚本与其他脚本可能存在冲突,如果你要做的不是完全修改掉某个方法而只是在已有的方法后面添加什么内容的话,可以使用alias(别名)这个功能。
- class Sprite_Timer
- alias xxx001_create_bitmap create_bitmap
- def create_bitmap
- xxx001_create_bitmap
- self.bitmap.font.color.set(255, 0, 0)
- end
- end
复制代码 上面这种写法可以在执行原本的create_bitmap的基础上把文字的色彩改成红色
- alias xxx001_create_bitmap create_bitmap
复制代码 这一行的作用是给原来的create_bitmap起一个xxx001_create_bitmap的别名,让原本的create_bitmap躲进xxx001_create_bitmap避难以免遭到覆盖。这样一来,在新的create_bitmap中就可以用xxx001_create_bitmap来调用原先的create_bitmap。但是,别名相同的情况也是有可能发生的,为了使别名不与其他脚本素材发生冲突,独特的别名是很有必要的。即使是同一个脚本在相同的地方定义了同样的别名同样会发生冲突。
稍微容易给人造成混乱的地方是,重新定义create_bitmap并不是在原来的方法里写新的内容,而是创造了一个看起来好像是这样的新方法,因此,躲进别名里面避难的旧方法是不会受到重新定义的新方法带来的影响的。
|