Project1

标题: RGSS 3 入门教程大家写(第二弹) [打印本页]

作者: taroxd    时间: 2014-7-1 09:19
标题: RGSS 3 入门教程大家写(第二弹)
本帖最后由 taroxd 于 2015-2-9 17:39 编辑

活动时间:
已经结束。

活动规则:
阅读完活动概要后,详尽地回答帖子下方提出的问题,或者发布教程类的文章。
本帖在活动结束前严禁非教程类回复!灌水者好人卡-1 && 删帖!正好我觉得这活动奖励好人卡奖励得太多了,不是吗?
如果发现了现有回答中的错误,或者要对现有的回答进行完善,你可以使用点评或者短消息功能。
如果有什么疑难没有明白,也请使用点评或者短消息功能,或者在活动结束后回帖。

面向对象:
看完了《RGSS 3 入门教程大家写》,懂得了变量、运算、分支、循环、数组等基本知识与语法,可是却无法理解默认脚本,想要修改脚本却无从下手的同学。
看《理解RGSS3》以及RPG Maker VX Ace 帮助文档-脚本-实践篇,只能照着上面的代码写,却不能理解其中含义的同学。

回答要求:
每人可以选择若干问题回答,不限制回答个数。
讲解详细、易懂,没有技术上的错误,同时也不建议过于深入。
排版整洁,代码规范。代码用代码框框起来。
回答问题时可以占楼,之后再编辑。但是,占了楼就得把责任负到底!
允许重复回答同一问题,但是后回答的人得回答得更好才行哦。
不必拘泥于提出的问题。只要是你觉得对脚本学习有帮助的内容我没有兼顾到,都可以在此发布。

奖励:
版主好感度,作用是在VA区回答问题的时候奖励提升等等
你对论坛付出了自己的一份力。
那些(未解决)的标签,会贴上你的ID,并且链接到你回答的楼层。
对每一个问题,一个满足要求的解答,至少可以得到一张好人卡。
活动结束后,我会去申请VIP,奖励给贡献最多的若干人。

下面是问题。

*号表示使用频率较少的东西,在第一次学习时可以跳过。*号并不代表难度高低。
**号表示,这些知识几乎不会用到。但知道了这些,可以让你对脚本或脚本中的思想有更深刻的理解。
[box=Sienna]
预备部分
[/box]
我一点基础也没有,可以从这里开始学习吗?(余烬之中)
当我见到看不懂的代码时,我应该依次到哪里寻求帮助?(余烬之中)
要提高我的脚本水平和对代码的理解,我应该多读脚本还是多写脚本?为什么?(余烬之中)
别人写的脚本好多行前面都有空格,都有什么用?我每行前面应该打多少空格?(余烬之中)
我该在什么时候使用注释?注释上应该写什么内容?(余烬之中)
[box=Sienna]
VA区简单脚本问题选集
[/box]
(对于回答者,要求解释你写出脚本的全过程,并对你写的脚本进行解释分析)
(对于学习者,如果你这一块的内容看不懂,没关系,先跳过这一段往下学习,到时候回过头来再看吧。那时你一定会有新的体会。)

求教如何让编号为某一个变量的人暂时成为队列第一人?(余烬之中)
如何在每次状态A消失后自动附加状态B?(taroxd)
有没有办法让敌人hp越少越容易进入异常状态? (余烬之中)
如何从菜单中删去“整队”选项?(泉塚四季)
如何显示一个显示指定文字的窗口?要求文字能够在游戏中修改。(余烬之中)
[box=Sienna]
面向对象的编程
[/box]
类、对象、方法分别是什么?(余烬之中)
我为什么要使用类?使用类有什么好处?(余烬之中)
带有@前缀的变量是什么意思?(taroxd)
方法的参数是什么?可变参数和默认参数怎么用?(无脑之人)
属性是什么?attr系列是什么?(taroxd)
self是指什么?(RyanBern)
子类是什么?有什么用?(余烬之中)
脚本为什么都要插入到main以上,插入到其他地方不行吗?(kuerlulu)
*模块是什么?有什么用?(余烬之中)
*类方法和模块方法是什么?(taroxd)
**public、protected、private方法是什么?它们有什么意义?(无脑之人)
----------------------------------------------------------------------------------
☆读到这里,你已经可以去尝试阅读RGSS3默认脚本了。尝试理解每个类是干什么用的,大致了解原生脚本中每个方法的功能吧。
  接下来的部分,就会开始讲解一些 RGSS1、RGSS2 中很少出现的东西了。
[box=Sienna]
区块(block)
[/box]
区块是什么?如何使用?在哪些地方能使用?(taroxd)
*局部变量的作用域是什么?为什么说区块是闭包(closure)?(taroxd)
*{...}和do...end有什么区别?(kuerlulu)
*方法后面带有前缀&的参数是什么意思?“&:symbol”呢?(无脑之人)
**raw_proc和lambda对象如何生成?它们有什么区别?(taroxd)
[box=Sienna]
内建类简介
[/box]
数组有哪些常用的方法?能不能分别详细解释一下?(RyanBern)
哈希表是什么?怎么使用?(无脑之人)
$game_variables是什么东西?似乎很像是一个数组?(泉塚四季)
字符串有哪些常用方法?能不能分别详细解释一下?(taroxd)
范围(range)是什么?怎么使用?它在 case 语句中出现的意义是什么?(taroxd)
*符号是什么?它和字符串有什么区别和联系?(无脑之人)
*正则表达式如何配合字符串使用?(RyanBern)
[box=Sienna]
其他
[/box]
我为什么总是看到报错?应该怎么解决?(taroxd)
经常看到别人写的脚本里有好多alias,那是什么意思?使用 alias 有什么好处?(喵呜喵5)
*经常看到别人写的脚本里有 $imported ||= {},那是什么意思?他为什么要这样做?(喵呜喵5)
*默认脚本中的 rescue 是什么意思?我应该在什么情况下使用 rescue?(余烬之中)
*Ruby中的操作符?(无脑之人)
[box=Sienna]
接下来,我应该……
[/box]
(以下并没有顺序关系)
1. 阅读RGSS3默认脚本,并在注释、F1帮助文档的帮助下尝试理解它的结构、解读它。
    依旧难以理解?不懂得这些类的作用和关系? ← 《理解RGSS3
2. 复习“VA区简单脚本问题选集”的部分。相信你一定会有更深刻的理解。
3. 阅读F1帮助文档-脚本-实践篇
4. 在提问区寻找简单的,已经解决的脚本问题。尝试在F1和Ruby文档的帮助下解读里面的脚本。
    为什么不是技术区? ← 如果你自己觉得学得不错,那么你可以去技术区找几个脚本试试。
5. 在提问区寻找简单的,尚未解决的脚本问题,并尝试自己写脚本回答。
6. 自制满足自己要求的脚本。如果有什么疑难,欢迎在提问区提问。会有很多脚本大触调教教导你的。
*7. 这里的所有教程都只是冰山一角,但对于原创脚本已经够用。
     继续深入学习Ruby,你会发现更广阔的世界。
作者: taroxd    时间: 2014-7-1 09:20
本帖最后由 taroxd 于 2014-7-2 05:57 编辑

本段作者为 @余烬之中

预备部分

作者: taroxd    时间: 2014-7-1 09:20
本帖最后由 taroxd 于 2014-7-2 13:30 编辑
面向对象的基础概念

作者: taroxd    时间: 2014-7-1 09:21
本帖最后由 taroxd 于 2014-7-6 12:38 编辑
面向对象的基础概念 2


作者: 喵呜喵5    时间: 2014-7-1 12:32
本帖最后由 喵呜喵5 于 2015-12-7 19:09 编辑
【口胡教程】如何用alias和$imported将自己装成一个脚本触



作者: 泉塚四季    时间: 2014-7-1 12:36
本帖最后由 泉塚四季 于 2016-1-10 12:44 编辑
$game_variables是什么东西?似乎很像是一个数组?


[line]5[/line]

如何从菜单中删去“整队”选项?


作者: 无脑之人    时间: 2014-7-2 00:58
本帖最后由 无脑之人 于 2014-7-3 13:14 编辑

于是怒来插一脚←←
方法的参数是什么呢?
事先注明:
1.这里不谈block的参数传递【涉及到并行赋值留给大触去谈好了】
2.这里也不谈block参数的获取【留给讲block的大触去谈好了】
3.这里还不谈hash参数【大家快去问LZ这个大触】




作者: taroxd    时间: 2014-7-2 13:06
本帖最后由 taroxd 于 2014-7-7 21:02 编辑
实例变量与属性

作者: RyanBern    时间: 2014-7-2 13:56
本帖最后由 RyanBern 于 2014-7-6 10:37 编辑
self是什么

作者: 无脑之人    时间: 2014-7-3 23:20
本帖最后由 无脑之人 于 2014-7-4 13:15 编辑

Symbol

Symbol看起来像一种特殊的字符串,他具有String的一部分方法,那么,他与String究竟有什么不同呢?


作者: 无脑之人    时间: 2014-7-4 00:34
本帖最后由 无脑之人 于 2014-7-9 12:45 编辑

Hash


  好晚了= =想写的更多也撑不住了……只希望这种半昏迷状态不要出什么岔子就好Orz……

Plus:Hash实际应用之Cache模块

作者: kuerlulu    时间: 2014-7-4 08:29
本帖最后由 taroxd 于 2014-7-4 09:24 编辑

[面向对象]-[脚本为什么都要插入到main以上]


脚本为什么都要插入到main以上


内容好少
作者: RyanBern    时间: 2014-7-4 20:49
本帖最后由 RyanBern 于 2014-7-8 10:48 编辑
数组的概念和常用操作方法

作者: taroxd    时间: 2014-7-5 18:10
本帖最后由 taroxd 于 2014-7-5 20:16 编辑
内置基本类——字符串

作者: RyanBern    时间: 2014-7-6 11:04
本帖最后由 RyanBern 于 2014-7-6 14:34 编辑
正则表达式的概念和其应用


作者: 无脑之人    时间: 2014-7-6 12:08
本帖最后由 无脑之人 于 2014-7-15 00:35 编辑

操作符(Operator)

可能会有一些人觉得ruby的操作符是很简单并且也很方便的东西,其实呢,这里面是有很多坑点的哦!
【当然其实不用作死的写法基本上不会被坑】

第一章 基本的操作符与操作符优先级

第二章 操作符重载(Operator Overload)

第三章 神奇的unary*与unary&


以下内容不看也罢
最终章 操作符的应用


结语:操作符是一个有趣的东西,善于利用会让你的代码更加可读更加有效,使用不当则会令你永生难忘【笑
希望读者合理利用操作符,让自己的代码发光出彩
作者: taroxd    时间: 2014-7-7 15:47
本帖最后由 taroxd 于 2014-7-7 19:21 编辑
区块

作者: taroxd    时间: 2014-7-7 18:04
本帖最后由 taroxd 于 2014-7-7 20:19 编辑
区块中变量的作用域

作者: kuerlulu    时间: 2014-7-7 18:54
本帖最后由 kuerlulu 于 2014-7-7 18:56 编辑

{...}和do...end有什么区别?


如果这时候连如何将块传递给方法都不知道的话, 建议翻到上面看 taroxd 的[区块]部分
作者: taroxd    时间: 2014-7-13 10:58
本帖最后由 taroxd 于 2014-7-13 11:43 编辑
范围(range)

作者: taroxd    时间: 2014-7-14 18:45
本帖最后由 taroxd 于 2014-7-14 18:50 编辑
如何在每次状态A消失后自动附加状态B?

作者: 无脑之人    时间: 2014-7-15 01:13
本帖最后由 无脑之人 于 2014-7-15 01:16 编辑

以下内容不看也罢
并行赋值(Parallel Assignment)

作者: 无脑之人    时间: 2014-7-15 15:05
本帖最后由 无脑之人 于 2014-7-15 16:03 编辑

public、protected、private方法是什么?它们有什么意义?
说真的,以下内容不看也罢
访问控制(Access Control)

[mode=yinzhan]对于Ruby来说,这个东西毫无意义[/mode]
作者: 无脑之人    时间: 2014-7-18 00:01
因为没东西写于是来这里扯扯淡

如何做一个能赚(bei)V(pen)的系统


以后恐怕真的没有淡可以扯了
作者: taroxd    时间: 2014-7-18 14:43
本帖最后由 taroxd 于 2014-7-18 14:45 编辑
区块中关键字的使用

作者: taroxd    时间: 2014-7-21 14:17
本帖最后由 taroxd 于 2014-7-22 12:10 编辑
甜美的为啥我写的代码就是没法正常干活!

作者: 菜鸟飞呀飞    时间: 2014-7-22 03:27
提示: 作者被禁止或删除 内容自动屏蔽
作者: 菜鸟飞呀飞    时间: 2014-7-22 06:50
提示: 作者被禁止或删除 内容自动屏蔽
作者: 余烬之中    时间: 2014-7-27 19:47
本帖最后由 余烬之中 于 2014-7-27 19:49 编辑

Stage Clear!

如何让编号为某一个变量的人暂时成为队列第一人?

有没有办法让敌人hp越少越容易进入异常状态?

如何显示一个显示指定文字的窗口?要求文字能够在游戏中修改。

作者: 余烬之中    时间: 2014-7-27 19:52
本帖最后由 余烬之中 于 2014-7-27 20:13 编辑

这个写的稍微欠感觉

默认脚本中的 rescue 是什么意思?我应该在什么情况下使用 rescue?





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1