赞 | 3 |
VIP | 7 |
好人卡 | 12 |
积分 | 10 |
经验 | 79562 |
最后登录 | 2023-8-5 |
在线时间 | 1389 小时 |
Lv3.寻梦者 寒
- 梦石
- 0
- 星屑
- 1024
- 在线时间
- 1389 小时
- 注册时间
- 2010-8-9
- 帖子
- 3471
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 寒冷魔王 于 2014-11-2 13:06 编辑
貌似论坛最近有许多人想要学脚本,于是有很多人发出了疑问:脚本应该怎样学?
作为一名资深的Ruby新新手,本人在这里给那些新新新新新手,新新新新手,以及新新新手一些建议:
#==================================================
1.明确你的目标:
对于RM来说,如果想要进行脚本层次的编辑,学习RGSS是必要的。
RGSS是一种建立在Ruby上的系统 。想要对RGSS有所了解,先要学习Ruby。
下面的各种目标中,本人都对Ruby及RGSS的需求做出了个人性的评判:
每个评分均有四个基本等级:A,B,C,D,在后面将说明其意义。
(1)能够在事件脚本里修改别人已经编好的代码(Ruby:D,RGSS:D)
(2)编写简单的代码,以实现事件的初级脚本化(Ruby:D+,RGSS:C+)
(3)编写类、模块等以实现RGSS的简易扩展(Ruby:C+,RGSS:C+)
(4)简单地修改编辑器的预置脚本(Ruby:C++,RGSS:B)
(5)复杂地修改编辑器的预置脚本(Ruby:C++,RGSS:A)
(6)能够使用纯Ruby编写游戏系统(Ruby:C++/B+/A,RGSS:D)
(7)具有创造RGSS实用代码的能力(Ruby:B+/A,RGSS:A/B++)
说明:
基本合格线:Ruby:C+,RGSS:C+
达到基本合格线的人,具备编写中等代码的能力。
Ruby:
D:会使用基础运算,if,case,for,do,def等基础的语法结构,掌握基础的进程性代码
D+:能够编写基本的进程性代码,并具备使用和分析的能力
C:能够了解Ruby对象性,如class,module等的特征
C+:能够编写基本的对象性代码,并具备使用和分析的能力
【C+以下均为初级水平】
C++:对Ruby系统有一个总体性的掌握,并具有熟练使用的能力
B:了解Ruby的特征,并具备学习的能力,能够学习和使用Ruby手册(区别于RM帮助文档)
B+:理解Ruby的特征,能够进行基本的元编程,能够深入地学习和使用Ruby手册
【B+以下均为进阶水平】
B++:(未出现)了解Ruby系统内部,能够查看Ruby的源代码(需要C语言的知识)
A:未知水平,是个谜
RGSS我不懂,还是请喵呜君吧……
一般来说,具备C+,C+水平的人,就可以编写一般的游戏系统了
通过RM的帮助文档可以达到C+水平,当然需要不断实践
#==================================================
2.对于RM帮助文档的问题,给大家提供一些我的看法
(首先感谢6R的汉化)
明确了目标,要学习脚本,怎么学?很多人想到了RM的帮助文档。
(1)脚本入门
首先,我想说,对于菜鸟还没到的人来说,RM的脚本入门是非常费解的(当年深有体会)
如果只是看,是很难理解的。所以建议找一些其他的资料。
将脚本入门基础篇画出来,划去“开始”“显示图片”,就是Ruby的基础内容。
划分:
{
开始 (X),
数字的计算 ,
变量 ,
字符串 ,
条件分歧 ,
循环 ,
函数 ,
对象 (-),
显示图片 (X),
数组 ,
哈希表 ,
定义类 (-),
}
划(X)表示RGSS内容,划(-)表示对象内容,其余的为进程性内容。
【注】Ruby中一切皆为对象,这里划分只是为了方便学习。
进程性内容非常好学,先将其掌握运用就能达到D+的水平。
对象内容是非常难以理解的,包括很多C的程序员,学习C++,Java时,都感到十分吃力。
所以这里建议先将进程性内容学会。
学到这里,大家就可以学习RGSS了。基本的,诸如$game,$data等等都是一种数据结构,了解一下,基本就可以运用了。
如果还想继续学Ruby,或者RGSS还有许多不明白的,那么就要学Ruby的对象内容了。
这里简单地说明一下:{
①Ruby中一切皆为对象。
②对象具有特定的方法。
如对象里面的:
a = "Ruby"
p a.size # => 4
这是Ruby对象性的应用。
③def定义方法可以代替对象方法,想要编写对象方法,需要元编程
④RGSS参考里内建类定义的方法,对于该类实例,都可以使用
如 "Ruby"是String的实例,想要 "Ruby".xxx就可以查找RM手册里内建类的String;}
(2)RGSS参考
RGSS参考脚本部分包括Ruby内部和RGSS内部。
对于RGSS参考,我想说,第一步先要把Ruby语法的内容掌握。
其次,看你的目标来学习。
划分:{
RGSS 规格(RGSS) ,
Ruby 语法 (Ruby基础),
标准库 (Ruby进阶),
游戏库 (RGSS),
附录 (Ruby联系外部),
}
我只讲Ruby相关:
学完Ruby 语法,其余的Ruby相关你就可以看了。
对于标准库里的东西,一般来说,只是看看就行了。
尤其注意不要去记。因为很多东西都是可以用基本程式来代替的。
标准库提供了许多简便的函数(在“方法”标栏下),使得Ruby可以在一行内完成十行才能完成的东西。
诸如:Array里的:delete(val)- a=[0,1,2,0]
- a.delete(0)
- p a #=>[1,2]
复制代码 可以在不调用该方法的情况下写为:- a=[0,1,2,0]
- n=Array.new
- a.each{|x| n.push x if x!=0}
- a = n.clone
- p a #=>[1,2]
复制代码 继续简化>=<- a=[0,1,2,0]
- n=[]; b=0
- #赋值n
- for i in 0...a.size
- if a[i]!=0
- n[b]=a[i]
- b+=1
- end
- end
- #复制n
- for i in 0...n.size
- a[i]=n[i]
- end
- p a
复制代码 大家知道= =了吧……
就说到这里,
剩下的就由T君,喵呜君以及各位君及酱来补充了~
T君 喵呜君
谢谢~
摘录:喵呜君的建议:
1. 先稍微学学C语言或者随便什么容易入门的编程语言,或者,至少用纯事件做一个完整的游戏,编程的思维是很重要的
2. 搞懂什么是脚本,搞懂Ruby和RGSS到底是什么关系
3. 不要看F1学Ruby,请翻那些正规的Ruby教程【比如镐头书
4. 有问题到提问区提问
5. 别在论坛随意@
6. 优雅的我才不用for这种东西呢哼
T君的建议:
RGSS参考不是用来学习的,是用来“参考”的。就和一本词典不是用来背的一样
我也补充一点:
学Ruby,真想学好,还是要看专业的书。RM帮助手册上的是非常不全面的。最多能让你达到标准线水平。本人当年只看过RM帮助手册真心明白,上两位君说的话,实在是太对了……
VIP君的建议:
多来提问区回答问题,偶尔试试改改脚本。不知不觉你就会了。
(即使不是完全了解,但是对于你做出一个游戏,这点经验应该够了 |
评分
-
查看全部评分
|