一、关于对RGSS学习的态度. 

有些人认为RGSS是高手的事情,我们这些小菜,没有RGSS又不会死。 

在以前天狼星的贴子上,他说的是:我们暂且认为RGSS是高手的事情。我认为这种观点是对的,但是一个好的游戏的作者,是不得不认识RGSS的,不是么?如果你做出来一个游戏,结果人家一开起来结果显示“新游戏”“继续”“退出”的话,那人家会认为,这绝对不是什么好游戏,可能有些人认为这个观点是错误的:内涵好就可以了,外表不装饰又不是没有人玩!不过我认为是对的,如果作者不去认识这些简单的东西,是不会制作出一个好的游戏的! 

恩,说完了,字也只剩32234个了,打完刚才的这些字,又变成32214个了。 

二:新手的脚本入手突破点 
Scene_Title 
这翻译过来就是场面(画面)标题的意思。 
也就是说,这个脚本是应用到标题画面的脚本。 

我们在脚本编辑器里打开Title脚本,先不要被假象所迷惑。 

看到class Scene_Title这里 
我们可以知道,class是一个集体,团体的意思,也就是团体 场面标题,这样看来class后的字就是这个脚本的名称,也就是后来可以调用的脚本名称。 
再往下看  
if $BTEST 
battle_test 
return 
end 
这里,注释上说的是战斗的情况下,我们可以知道在battle(争斗、战斗)test(测试)也就是说,战斗测试下,回归并且结束。所以,当我们起用战斗测试的情况下,是不会触发标题画面的。 

下面是长长的载入,我们不用知道载入了什么,我们看$data_actors=load_data("Data/Actors.rxdata") 
也就是说,系统定义的actors会等于data文件夹中的actors.rxdata。 
$game_system = Game_System.new 
这句是启动系统,game的系统,那个脚本我们等一下会说到。 
@sprite = Sprite.new 
@sprite.bitmap = RPG::Cache.title($data_system.title_name) 
这句是生成,标题的图形画面。 
# 生成命令窗口 
s1 = "新游戏" 
s2 = "继续" 
s3 = "退出" 
这里就是我们新人学习的突破点 
我们可以看出来s1s2s3所对应的都有一个引号,这个引号代表什么呢?代表你可以随意修改引号中的内容,我们可以尝试把它改成 
s1 = "new game" 
s2 = "load" 
s3 = "exit" 
呵呵,打开测试一看,是不是不一样了呢? 
@command_window = Window_Command.new(192, [s1, s2, s3]) 
这句有点怪,没有看出任何注释...太厉害了. 
没事,我们照样把它看出来,s1s2s3我们是不是已经见到了呢? 
那么我们改 
@command_window = Window_Command.new(192, [s2, s1, s3]) 
好了,测试一看,可以是可以啦,可是.... 
load变成newgame了,也就是说,内涵没有变,顺序变了. 
我们可以改啊,把newgame和load的顺序变一下,照样OK! 
@command_window.back_opacity = 160 
这句,翻译过来大概是窗口的不透明度=160 
自然可以改 
@command_window.x = 320 - @command_window.width / 2 
@command_window.y = 288 
这是X Y坐标,可以随意改动 
@command_window.width  
这句是指:命令窗口宽度/2 
# 判定继续的有效性 
# 存档文件一个也不存在的时候也调查 
# 有効为 @continue_enabled 为 true、无効为 false 
@continue_enabled = false 
for i in 0..3 
if FileTest.exist?("Save#{i+1}.rxdata") 
@continue_enabled = true 
end 
end 
这段是^:判断继续(load)的有效度,有效,则允许读档 
if @continue_enabled 
@command_window.index = 1 
else 
@command_window.disable_item(1) 
end 
无效为灰色.有效进入 
# 演奏标题 BGM 
$game_system.bgm_play($data_system.title_bgm) 
# 停止演奏 ME、BGS 
Audio.me_stop 
Audio.bgs_stop 

呵呵,这里我们总算能够自己写出一段脚本了,来,我们写吧 

停止演奏SE Audio.se_stop 
停止演奏BGM Audio.bgm_stop 
def update 
# 刷新命令窗口 
@command_window.update

 # 按下 C 键的情况下 
if Input.trigger?(Input::C) 
# 命令窗口的光标位置的分支 
case @command_window.index 
when 0 # 新游戏 
command_new_game 
when 1 # 继续 
command_continue 
when 2 # 退出 
command_shutdown 
end 
end 
end 
这里,WHEN这里,可以看出来 
如,WHEN2 退出 
下面用了个 command_shutdown 
的类 
我们继续往下看 
def command_shutdown 
# 演奏确定 SE 
$game_system.se_play($data_system.decision_se) 
# BGM、BGS、ME 的淡入淡出 
Audio.bgm_fade(800) 
Audio.bgs_fade(800) 
Audio.me_fade(800) 
# 退出 
$scene = nil 
end 
可以看出,它用def定义了一个名叫command_shutdown的类,在上面引用,类中说,演奏确定SE 
BGM BGS ME的淡入淡出,相信这样就可以看出,呵呵,可以自己也照猫画虎地写出来几句吧. 

照这样,我们可以做,如:WHEN 3 
shitingyinyue 
然后在下面这样写 
def shitingyinyue 
$game_system.se_play($data_system.decision_se) 
这样.再加个s4 试听确定音乐 
...这个比较无聊哦 
不是比较无聊是非常无聊 
废话完毕哦 

其它的你应该都通过注释知道了吧,不知道啊话_加偶QQ597208259-_-打广告 
(怎么废话还不完毕?) 

好了,我们看下面. 
载入战斗 
并且设定BGM,队伍等 
OK. 
因为比较匆忙,写的不详细,后面的我回来再补上. 

恩...懒得写啊... 没办法了,更新吧. 

学习Scene_Title的总结语句: 

class Scene_Title class后的可称为新一个类的起始,类名 
battle_test 战斗测试的情况下 
end 末端 结束 
return 回归 返回 
s1 = "new game" 生成命令窗口时的选项设置 
@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 窗口的XY坐标以及高度 
continue_enabled 继续是否能够 
false 否,不能 
true 是,可以 
$game_system.bgm_play($data_system.title_bgm) 演奏标题bgm 
Audio.me_stop 停止演奏audio me 
Audio.bgs_stop 停止演奏 audio bgs 
if Input.trigger?(Input::C) 按下C的情况下 
when 定义case中的索引 
case @command_window.index 案件命令窗口索引 
command_continue 为下面的def做准备 
def command_new_game 定义new game 
$game_system.se_play($data_system.decision_se) 演奏确定se 
Audio.bgm_stop 停止bgm 
$scene = Scene_Map.new 画面等于地图.新的 
$game_system.se_play($data_system.buzzer_se) 演奏无效se 
$scene = nil 画面为空 
$scene = Scene_Battle.new 新的战斗画面