设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 26268|回复: 75
打印 上一主题 下一主题

[RM中级讨论] 跟我从头学脚本(教学翻译)(已发布)

 关闭 [复制链接]

Lv1.梦旅人

查无此人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2006-5-8
帖子
1399
跳转到指定楼层
1
发表于 2006-7-24 16:48:40 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
{/gg}




电子书版本:http://rpg.blue/web/htm/dj79.htm
整理完整版
http://rpg.blue/upload_program/files/上.doc
http://rpg.blue/upload_program/files/中.doc
http://rpg.blue/upload_program/files/下.doc
另外补上战斗系统讲学.....{/gg},这个战斗教学主要讲的是算法。。
http://rpg.blue/upload_program/files/战斗教学.doc
RGSS游戏系统术语列表(比之前那个Near的完整多了)
http://rpg.blue/upload_program/files/RGSSreference--1.doc
http://rpg.blue/upload_program/files/RGSSreference--2.doc

最后的是事件版SLG,变量的超级运用汉化版因为脚本地方失误所以无法全部完成。 操作: 战斗中按B查看行动力AP和敌人数, 按Z地图上攻击
工程:http://rpg.blue/upload_program/files/LnSmiTactcl.rar
脚本部分修改不完整参照(不要代替工程中的脚本, 因为没有完整地找出所有改动地方, 请新建工程查看)http://rpg.blue/upload_program/files/Scripts中文.rar

以上全部转自Creation Asylum



原作者: Dubealex 以及 :Near Fantastica(特别讲)
主讲人(翻译): frantice  (充其量新人一个…..)

已翻译时间;853分钟
补充说明:
为了保证规范,一些重要的术语援引原文不翻译,请见谅!本人基础语法不过关,纯实干派,错误的地方请指出!还有,如果大家觉得不好的话,直接回帖叫我不要更新即可,我不介意的…………还有因为电脑关系,贴上来的时候把半角的都弄成全角了,大家注意改下,不然会出错

这里是开学宣言

大家好,我就是传说中的女F。^0^
今天开始我来边翻译边讲述一些关于RGSS和Ruby的教学,
在翻译的基础上融合了大量自己的心得体会,希望能给大家带来一些收获。对于不知道什么是RGSS和Ruby的新人们,我的建议是先把事件弄懂了,然后再看这个教程.我们这个教学的目标是:能够写出属于自己的简单脚本!

教学大纲:
第一讲: Ruby 和RGSS的概况  
第二,三讲: 基本词汇和语法
特别讲: Near Fantastica的RGSS语法列表
第四,五讲: 变量和常量
第六,七,八讲: 条件语句
第九讲:Loop专题
第十讲:Inheritance专题
第十一-----十七讲(重点): Scene和Window 专题
第十八-----二十讲(也是重点): Selectable/Command 窗口专题



第一讲 什么是Ruby?什么是RGSS?

首先请在工程中按下F1看基本知识
我不重复别人说的话了.Ruby它诞生于1993年2月24日,它是面向对象的解释性语言(即00),任何一种00语言都包含以下4个部分:



-Class 类
-Methods 方法
-Messages
-Arguments
-Variables/Constants 变量和常量
它们之间的关系:---------我讨厌贴图
http://ftp2.66rpg.com/3/临时� ...  Battle Arena/1.JPG


一个对象的例子
假设class为一个汽车制造厂 ,那么目标就是汽车. 汽车制造厂包含所有来制造汽车的功能,每辆车都是一种同样东西的不同形式.这些不同的汽车形式也是不同的对象,也可以在不改变其他汽车对象的基础上在加以改造.当汽车公司需要另一辆汽车的时候, 他们只用简单地向汽车制造厂要求制造一辆新车,只要盖好了一个工厂(就是class-类)你就不需要每次都去重复地对汽车(object 对象)操作了.

一个处理对象的例子
在 RPG Maker XP里, 你的人物都有很多属性,如”名字””HP””等级”等等,这些在游戏里都能打开菜单看到.它们是靠后台执行你所发出的指令来完成显示的.

一种方法事实上定义了目标对象接收到什么信息,接受到会发生什么.所以说,每次消息传送或接收,对象都是和它的制造者(class-类)所关联,靠相关的方法来执行.

回到人物的例子,我们就知道了有一种类专门定义人物,这个类有种为你发给目标对象的信息而生成的方法.然后我们就找到一种叫”name”的方法

什么是RGSS?
“Ruby Game Scripting System”是RGSS的全称,它不是一种语言.鉴于大家都知道它是音乐测试左边那个按扭,其他不多说了.
下面看个例子,一行描绘图片的脚本:

image = Sprite.new
image.bitmap = RPG::Cache.picture(name of picture)

理论上,要在屏幕上显示出图片需要2行脚本,因为你要使用一个叫”Sprite”的类, "Sprite" 在RMXP中已事先编好(不在脚本编辑器中).也需要一个module模块 (也不在脚本编辑器中)

RGSS编辑器
脚本里的字体各有颜色,不同的颜色都有什么含义呢?
蓝色: 语法, 如 def, class, end, when, if, case…..
红色: 数字, 如 1, 2, 3, 4,………….
浅蓝色: 符号, 如+, * , = , || ,
绿色: 注释, 不被执行的内容
紫色: 自己看- -

常用快捷键
Control+F  本脚本页中寻找
Control+Shift+F 全局搜索
Control + H  替换
Control + G  转到第几行
http://ftp2.66rpg.com/3/临时� ...  Battle Arena/2.JPG


第二讲 基本词汇和语法(上)


一些基本的废话将完了,我们直接进入正题^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来结束呢?看看这个.是不是清楚了点呢?:
http://ftp2.66rpg.com/3/临时� ...  Battle Arena/3.JPG

好了,我们回头看看事件页写的那行” 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”类,就像第一讲里那个汽车厂的例子一样,改变一个是不会影响另一个的.
那么他是如何运行的呢?请看第三讲.

KRKR + NS 学习中..........
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
2 小时
注册时间
2010-6-17
帖子
9
76
发表于 2010-8-1 10:36:02 | 只看该作者
很好 谢谢分享
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-19
帖子
271
75
发表于 2009-3-15 02:57:13 | 只看该作者
好像下载过
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
4 小时
注册时间
2008-10-12
帖子
11
74
发表于 2009-2-19 17:28:30 | 只看该作者
第二讲里的显示4个窗口时一次显示还是同时显示?
我的时一次显示
回复 支持 反对

使用道具 举报

Lv1.梦旅人

B

梦石
0
星屑
50
在线时间
26 小时
注册时间
2007-8-26
帖子
3693
73
发表于 2008-8-19 02:48:50 | 只看该作者
耶!适合我的教学耶!

收藏之~!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-5-6
帖子
10
72
发表于 2008-8-19 02:31:54 | 只看该作者
囧了,看不懂= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

71
发表于 2007-2-24 23:51:49 | 只看该作者
以下引用frantice于2007-2-24 15:26:20的发言:

不用验货了, 至于"范例",我是因为整理电脑把没发过的东西都发上来罢了, 和教学没关系.
话说....那个电子书是怎么做的啊.用啥软件的不......(鸡蛋鸡蛋鸡蛋...)


哦,是因为我把有些部分整理在一起,害怕将作者混淆,弄出笑话来.

电子书感觉编译性比较好的是E-BOOK,但排版还是要用WORD或DW什么的,电子书制作本身非常简单,累人的是资料整理的过程——
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

查无此人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2006-5-8
帖子
1399
70
 楼主| 发表于 2007-2-24 23:26:20 | 只看该作者
不用验货了, 至于"范例",我是因为整理电脑把没发过的东西都发上来罢了, 和教学没关系.
话说....那个电子书是怎么做的啊.用啥软件的不......(鸡蛋鸡蛋鸡蛋...{/gg})
KRKR + NS 学习中..........
回复 支持 反对

使用道具 举报

Lv1.梦旅人

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
帖子
4085

第1届短篇游戏比赛亚军

69
发表于 2007-2-24 23:10:30 | 只看该作者
frantice看下吧,是否还有修改之处.
那两个范例没加,一是与教程本身关联不大,二是并没有想象般强悍,如果实在想加,我再补上.

ftp://[email protected]/个� ... 脚本电子书.rar
纵然千里外,我等雁归来。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

查无此人

梦石
0
星屑
50
在线时间
9 小时
注册时间
2006-5-8
帖子
1399
68
 楼主| 发表于 2007-2-24 19:41:34 | 只看该作者
下划线加错地方{/gg}, 那个不是中文范例, 因为是用事件做的, 脚本部分的修改在原工程中没有任何标记. 所以我对照了下把脚本中修改过的地方做了标记, 就是最后下载那个.
KRKR + NS 学习中..........
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-28 01:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表