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

Project1

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

[已经解决] 这里是新人一枚,使用rmvx ace一定需要学会ruby吗?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
1608
在线时间
8 小时
注册时间
2015-7-10
帖子
4
跳转到指定楼层
1
发表于 2015-8-18 21:37:21 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
顺便求大触解释一下ruby对rmxv ace的作用,谢谢啦~(⊙ω⊙)

Lv3.寻梦者

梦石
0
星屑
1024
在线时间
1389 小时
注册时间
2010-8-9
帖子
3471
11
发表于 2015-8-21 13:20:13 | 只看该作者
本帖最后由 寒冷魔王 于 2015-8-21 13:42 编辑

首先,对于是否必须需要学习Ruby,回答当然是“否”。
楼上的观点本人基本赞同,但是,楼上有一些没有解释到位的地方,这里用我的个人观点来阐述。

个人认为,Ruby有两个发展方向——
一个是Depth(深度),一个是Breadth(广度)。

怎么区分呢?
Depth表示学的深入,Breadth表示用途广泛。

首先,作为一门程序设计语言,Ruby是繁杂、丰富而强大的语言。Ruby具有繁杂的语法,丰富的表达方式,以及伴随着的强大的特性。
学得深意味着,你将了解更多的语言特性,更深入地理解语言层次、语法结构,掌握更多的用法和不为人知的表达方式。
举个例子来说,Ruby有个黑魔法,名字叫做“元编程”。元编程可以轻松改变Ruby的面貌。如同C++各种奇葩的模板泛型编程,在可以达到目的的同时,让你如同置身云间。
如上所说,Depth可以让你达到用Ruby玩Ruby的地步。

然而,与此同时,正因为Ruby是一门程序设计语言,它的用途是程序设计。这就是Breadth所涉及的了。
Breadth的目的在于用Ruby玩别人。——而这正是RM脚本所需要的。
程序设计,诸如制作战斗系统、绘制窗口、修改脚本等RM所常用的、有用的地方,都属于Breadth的范畴。
RM所需要的Ruby功底不深,翻一下预置脚本,就可以大致了解。

Ruby学习就像一个圆锥,最初身在锥顶,什么都不会,只能往深走。然而随着深入,可以进行的广度也就愈来愈大。Depth和Breath是相互关联的,二者相互统一。
除了喜欢用Ruby玩Ruby的兴趣爱好者外,学习Ruby的目的就是Breadth。如前所述,RM不需要太深的功力,在一定水平就可以进行Breadth。但是走Depth路线仍是不错的选择。如下是个人看法:
一、精简
我们想要构建一个Point类表示点,有x和y两个成员变量。类似C的结构体。
按照RM内置的脚本构成方式,可以这样写
  1. class Point
  2.   attr_accessor :x
  3.   attr_accessor :y
  4.   def initialize(x, y)
  5.     @x = x
  6.     @y = y
  7.   end
  8. end
复制代码
当我们知道了','的作用,以及attr_accessor的传递方式,完全可以这样写:
  1. class Point
  2.   attr_accessor :x, :y
  3.   def initialize(x, y)
  4.     @x, @y = x, y
  5.   end
  6. end
复制代码
然而实际上,如果知道Struct,这样写是最好的:
  1. Point = Struct.new(:x,:y)
复制代码
二、正确
Ruby的参数传递采取的是引用。这一点非常重要。
如果我们不清楚这一点,可能会写出如下代码:
  1. a = Array.new(10,0)
  2. b = Array.new(10,a)
复制代码
我们想要建立一个10*10的二维数组,每个元素都是0。
因为查了手册,所以我们很高兴能够看到一个简单的数组构建方法Array.new,于是我们迫不及待地采用了。
然而实际上,这个地方是有问题的。
  1. a[0]=1
  2. p b
复制代码
我们可以看到,b中所有子数组都变更了。这是为什么呢?
实际上,b包含的并不是10个数组,而是10个数组的引用。
由于构建对象时,Array.new传入参数是引用,而其并不采取clone方法,这使得每个引用都指向a。因此改变了a就会改变b。
正确的表达方式应该是:
  1. a = Array.new(10,0)
  2. b = Array.new(10) { a }
复制代码
三、效率
对程序而言,对效率影响最大的就是算法。——这属于Breadth的范畴。
同时具有影响的,还有数据结构、程序的构建方式等。
代码示例


如上,Depth对于Breadth的作用不可忽视,深入学习Ruby对于RM脚本的掌握具有很大作用。

P.S.我才不是被茵蒂克丝吸引来的呢!
SRPG on RM 项目研发组 正式成立。目前SRPG·RMVA系统进度88.8%。SMRC Kernel 进度90%
↖(^ω^)↗热烈庆祝~SMRC Ver5.1 SRPG战棋地图移动范围生成脚本正式发布~~
-----------------------------------------------------------------------------------------
SMRC具有高性能、高兼容、定制自由、使用方便的特点。
1.性能,100移动力轻松算出,无压力;
2.兼容,RGSS1-3通吃,效率保证;
3.支持移动形状定制,支持4方位、6方位、正方形或其他任意有移动规律的形状;
4.可以充当高性能寻路来使用。
【链接点此】
-----------------------------------------------------------------------------------------
【2016/01/06更新 | 改版】RM脚本编辑器Gemini
-----------------------------------------------------------------------------------------
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
505
在线时间
281 小时
注册时间
2015-2-17
帖子
136
10
发表于 2015-8-19 18:33:11 | 只看该作者
如果不需要改脚本的话,ruby不学也没关系,当然学了也不是不行
还是很好学的

评分

参与人数 1星屑 +30 收起 理由
寒冷魔王 + 30 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1608
在线时间
8 小时
注册时间
2015-7-10
帖子
4
9
 楼主| 发表于 2015-8-19 10:45:49 | 只看该作者
三途亚梦 发表于 2015-8-19 02:08
并不一定要学ruby,比如海囚的作品就几乎不需要脚本知识。

呼呼呼~

评分

参与人数 1星屑 +3 收起 理由
·雾逝者· + 3 三连贴!请善用点评功能(左下角.

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1608
在线时间
8 小时
注册时间
2015-7-10
帖子
4
8
 楼主| 发表于 2015-8-19 10:42:25 | 只看该作者
喵呜喵5 发表于 2015-8-18 22:10
不需要,RM本身就是个不需要代码知识就能制作游戏的软件

但是,

阿里阿多
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
1608
在线时间
8 小时
注册时间
2015-7-10
帖子
4
7
 楼主| 发表于 2015-8-19 10:41:49 | 只看该作者
三途亚梦 发表于 2015-8-19 02:08
并不一定要学ruby,比如海囚的作品就几乎不需要脚本知识。

阿里阿多
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止访问)

梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
帖子
3600
6
发表于 2015-8-19 07:37:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
784 小时
注册时间
2013-1-4
帖子
1102
5
发表于 2015-8-19 03:34:31 | 只看该作者
英文苦手就不是问题,至少在写RM脚本的时候(不过如果你是要深入学习ruby以及诸如ROR这类的玩意的话 还是得会些英语,因为这类资料基本都是英文)
我说说我的情况吧,英语从初中起及格的次数屈指可数(万幸高考的时候及格了),所以这个水准可想而知了,然而平时写脚本基本没什么问题,顶多就是变量名命名等等(我一般开个百度翻译。。。另外好多东西都用约定/常用的命名,多看看别人的代码也就知道了)在者大概就是对英文不敏感,比如老是忘掉某个方法/函数名,这种的话就多查查手册什么的F1打开就不要关掉(记得用顶置的汉化版替换掉原版的日文)

英文只是代码表述的手段,关键还是写代码的思想/思路,而且就编程所用的词汇也不是很多,多写写(差不多就是死记硬背)就能搞明白记下。我现在靠翻译什么的勉强也可以看看一些简单的英文编程资料什么的。

另外,ruby学起来也不难,我大概去年六月翻过两周的F1看过几篇教程(更我从头学脚本那个电子书挺不错)什么的,然后就是今年四月多五月的时候开始算是比较认真的学了,大概就是看programming ruby,翻大触们的帖子(喵呜喵呜、td、晴兰、小黄鸡、zh、紫苏、熊猫、余烬之中、夏娜等前辈们),翻技术区的帖子,翻技术提问区的帖子,看大神们的博客(推荐DeathKing大大的博客,学ruby元编程是个很不错的地方)还有百度是个帮助你学习的好东西(来6R发帖提问前先自己思考,查阅资料,然后是问百度,最后再来6R提问),这期间我还去学了php/js/css/html,写了一个失物招领和给个公司写的数据处理的VBA的玩意(实际上当你水平越过最初的层次后,语言对你的限制不大,VBA我基本是翻了几遍手册查了查msdn什么的就写出来了,现在基本的一些操作什么的也没问题)最近再给一家很小的公司用php写公司网站(这是我找的假期兼职)。至于RGSS和ruby的水准,嗯,现在再写个叫RGUI的玩意,算是自己造的一个RM的GUI框架。
由此来看,对于编程的学习,并不是很难,尤其是对于高级语言来说,没有可恶的分号和花括号,没有内存管理和编译,没有太过底层的位运算之类的鬼玩意,其学习难度实在算不上太大。大多数人要么是不努力,要么是自己觉得太难从而造成心理压力(当然,我的付出也不小,从写开代码每晚平均两三点睡,周末都不怎么出门,至于假期,写代码通宵是常有的事,造成伴着鸟叫声入眠什么的)。

对于编程学习,除了看和理解,最重要的是去练习,代码量是个最明显的标志(有个说法是,当你用一个语言写上一万行代码时你就算入门了,当你写上十万行代码时,你就算熟悉了,当你写上百万行代码时,你可能就精通了这门语言)。

当然,我自己也有些特殊的情况,比如在初中那会折腾过VB。以前有用EM写过游戏(EM只提供基本的方法/函数,所有的模块需要自己去写代码),虽然坑了(人生第一坑)。php在去年的时候就有接触过(但都不深,大概就是翻翻w3c的手册之类的)。还有就是自学能力还算不错吧,我个人是那种比较凭喜好去做事的,喜欢的就努力去做,不懂得就自学(高中那会儿,老师讲课基本不听,早上上课的时候全是在睡觉/看书【当然不是课本啦】,下午一热也会睡,大概只有到了晚自习的时候才会去看课本,做习题。完全处于自学的状态【嗯,讲题的时候我会去听一些,如果自己没问题就跳过做自己的事情,有问题就听】,不过这样也是问题蛮大的,高三刷题的时候各种辛苦,第一个学期每天晚上折腾到两点多才去睡)

如果你自学能力和罗辑思维还算不错,且愿意付出,有时间,那么就去放心学ruby吧,成为大触什么的都不是梦想。即使没有前边说的这些,你如果愿意花些时间,那么也去学学吧,至少很多简单的脚本修改,解决脚本冲突等问题都可以自己动手来了,而不用靠别人。

点评

Σ( ゚д゚)  发表于 2015-8-22 20:43
就是多学习嘛 人家学1个小时就会的你学3个小时就是了!  发表于 2015-8-22 13:39
_(:3」∠)_“少打游戏多看书”你们都这么说……  发表于 2015-8-19 17:34
我只能说,少打游戏多看书。理解能力也是可以靠训练来增强的【去试试看看那些大部头,嗯一句话看个八九十遍还不能确定是否理解  发表于 2015-8-19 15:50
小学语文夸张了吧……我是高中以后……  发表于 2015-8-19 15:47
RM-GUI延期。。。最近被黑心老板压迫T_T
二次元少女的shitake,长着长脸,身高165,蓝色卷双马尾,FCUP,瞳色黑色,病气和御宅属性,是天才少女。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

闇吼者の災悪眷族
不気味存在締造者

梦石
0
星屑
1366
在线时间
2881 小时
注册时间
2014-7-29
帖子
6491
4
发表于 2015-8-19 02:08:11 | 只看该作者
并不一定要学ruby,比如海囚的作品就几乎不需要脚本知识。

评分

参与人数 1星屑 +132 收起 理由
taroxd + 132 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
11 小时
注册时间
2015-7-27
帖子
27
3
发表于 2015-8-18 22:13:27 | 只看该作者
喵呜喵5 发表于 2015-8-18 22:10
不需要,RM本身就是个不需要代码知识就能制作游戏的软件

但是,

我有两点想请教一下!   那个一个是VA的工具找半天论坛上没有啊0 0!   刚刚针对LZ的问题 像我这样-。-26个英文字母都认不全是不是学习ruby什么是非常困难的说?(=゚ω゚)=

点评

@KB.Driver 是啊 认不全的话 可以试试吧 想做但是不见得适合 适合的不见得我喜欢嘛┑( ̄Д  ̄)┍  发表于 2015-8-19 15:06
噗……英文字母都认不全的话Σ( ゚д゚)  发表于 2015-8-19 13:00
工具请点击论坛顶上制作工具处的百度下载  发表于 2015-8-18 22:43
26个英文字母都认不全的话,建议少打游戏多读书  发表于 2015-8-18 22:16
论坛顶部-制作工具-百度网盘  发表于 2015-8-18 22:15

评分

参与人数 1星屑 +30 收起 理由
寒冷魔王 + 30 春日酱

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 17:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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