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

Project1

 找回密码
 注册会员
搜索
楼主: DeathKing
打印 上一主题 下一主题

[RMVA发布] 【RGSS3教程】理解RGSS3——原理和应用【预览版】

  [复制链接]

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
371
发表于 2014-8-2 13:02:59 | 只看该作者
感谢UP主!


抓BUG~~~


13页  

别为这两个变量开辟新的空间空间。这样,


↓  这句怪怪的...

我们可以通过显式的指出命名空间来访问我们需要的变量,比

点评

空间空间=>命名空间; 显式的=>显示  发表于 2014-8-2 14:26
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
372
发表于 2014-8-2 13:05:57 | 只看该作者
还有
2.3.1 RPG模块
这还没写完吗...

attr_那串可以排整齐一点

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
373
发表于 2014-8-2 14:09:39 | 只看该作者
15页
那些没有并非移动光标的SE也被修改。

怪...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
374
发表于 2014-8-2 14:19:40 | 只看该作者
本帖最后由 九靈 于 2014-8-2 16:09 编辑

2.4.2
具体来说,缩进有下诸几点注意:
赘...

到因粗心而少一个end而导致Syn七axError的情况。


3.1.3
后将这张黑纸片
你将中间去一部分
你只能看到黑色纸片被去的部分露出的图画。


3.1.4
RGSS中的坐标系被设计得不同标准的笛卡尔坐标系


3.1.6
还没写完?


3.1.9
如果发现新状态与状态不同


3.2.1 p27
我们尝试将这些指令翻译成


3.3.1
这些琐事并不会影响到我们,我们后面讨论。


3.3.2
我们在4.1.6节中提到过,Window会被分为两层:
2 忘记这个四元组了么?快回到4.1.4节复习一下吧!
↑注解2指哪?

点评

膜拜细节帝OwO  发表于 2014-8-2 14:27

评分

参与人数 1星屑 +88 收起 理由
DeathKing + 88 多谢指出Typo

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1185
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

375
 楼主| 发表于 2014-8-2 15:28:38 | 只看该作者
本帖最后由 DeathKing 于 2014-8-2 15:30 编辑
九靈 发表于 2014-8-2 14:19
2.4.2
具体来说,缩进有下诸几点注意:
赘...


阅读地很仔细,很好!
URG3的创作跨度很大,难免前言不搭后语,啰嗦赘余。又碍于QQ输入法实在难用,错别之字,真是让人烦心。另外,有些部分还不知道应该怎么写,所以难免有“空头支票”之嫌,望多多理解罢。
今天恰好有半日余闲,就老老实实地重头审一边,把语言上的问题都给改正。还望多加帮忙指出不足之处。

See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
376
发表于 2014-8-2 16:10:29 | 只看该作者
本帖最后由 九靈 于 2014-8-3 13:25 编辑

3.3.3
mywnd = Window_Foo.new
Graphics.wait(120)
mywnd.write_text("It's Nice!")
Graphics.wait(120)
mywnd.dispose
执行出错
别逼我化身"未来"

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
377
发表于 2014-8-2 16:13:46 | 只看该作者
本帖最后由 九靈 于 2014-8-2 18:23 编辑

3.4
因为Window Base类已经给我们封装好了应的方法,我们只需要学会调用这些方法就行


3.4.1
也许有的读者会问,为什么像4.3节中,直接用常量制定窗口大小。
4.3节那样做是完全可行的,但读者随后也会发现,我们通常无法一次性得到完美的窗口大小,需要经常
是3.4.3还是4.3还是...


3.4.4
3.4节、4.4节


3.5.1
没图


这些概念都可以现在下面这张图上面。


p36
看到这种写法就你应该清楚这代表“脚本组”


4.1
理清RGSS的运行过程非常重要的。


p39
现对Scene中所有窗体的更新。
窗口
令窗口@command window负责处理并应玩家的选择,


p40
f)初始化画面更新次数(Graphics.frame coun七为0);
设置

将这些序列化对象以文字的形式按照被转储到众多后缀为rvdata2
好的
多2


p42
当@actors被修改时不会反过来影响


最后Grphics模块中的frame count变
重复  设置

这个变量记录了游戏运行的多少帧
运行的帧数

到屏幕上的图像重绘),输入更新


画面更新输入更新窗口更新
可用"、"

它是所有实例的参考标准(比如不同存档),你
不同的存档

不应该修改它,否则就会影响到其它的存档
实例
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
378
发表于 2014-8-2 18:18:24 | 只看该作者
本帖最后由 九靈 于 2014-8-2 18:57 编辑

4.2.2
这要如何实现呢?

如果我们把输入试做一种需求的话
当作


p44
如果还没可以切换场景就按照下面的操作更新
多余

我们很自然想到在这里我们可以加入一些自定义的响应。



P45
注意被加粗的那句代码,那是我们添加的。
哪句?

HUD最早出现在军用飞机上,是让是指飞行员不需要低头就能够看到他需要的重要资讯。
多余


p48
3上队伍的规模3人
mod好些

外,update_actor_state用于更新角色的状态,


p49
在初始化也要创建HUD



p50
高度只有一行,所以通过fi七七inq heiqh七方法取
建议改可以

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
379
发表于 2014-8-2 19:10:25 | 只看该作者
呃...先看了0.0.1就顺手抓了虫虫

改天把0.0.2和0.0.3的虫也抓了
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2013-8-14
帖子
203
380
发表于 2014-8-2 20:13:48 | 只看该作者
本帖最后由 九靈 于 2014-8-5 19:20 编辑

0.0.3的虫虫

──九靈抓虫大冒险

p20
一个标识符中最好只出现1次下划线,类似


命名,大致与类的命名一致,但需要保证嵌套的正确性
少了"。"


p24
    显示端口(Viewport)理解起来并无困难,想象你有一块黑色的纸片,你将中间去一部分,让后
这张黑纸片放在另外一张有图画的纸片上,你只能看到黑色纸片被去的部分露出的图画。Viewpor七就
相当于黑色纸片被去的部分。某些时候,我们只希望显示一张很大的图片的一部分,我们就要使用到
Viewpor七了。

然后




RGSS有自己的坐标系,并且出于方便考虑,RGSS中的坐标系被设计得不同标准的笛卡尔坐标系①。


从RGSS的层面来说,一个程序员能完全操作到
"只"多余


p27
游戏中的菜单窗口就由选项窗口
"具"多余

如果发现新状态与状态不同


一言以蔽之
"以"冗赘


p29
定位起来是否就变得简单了呢:
?

将原点修改为画面中心可以使用代码
将原点修改为画面中心我们可以使用代码

但这里的“原点",跟多的指一个参照标准。
更多的是


p30
到目前位置,我们讨论了精灵的位置和尺寸。
为止


p31
是用zoomx和zoomy可以对精灵进
使用


p36
你不太能够要为绘制的文字预留多大的空间
"够要  多大的 " 多余
还是怪



p37
而如果直接用中文词汇“接口”来表述的话,
"用"多余


p40
这种设计方法非常实用
"有"多余

慢慢为它添加复杂的功能,再慢慢深入



p41
忘记这个四元组了么?快回到4.1.4节复习一下吧!


p42
快去我们定义



p43
但RGSS3能做到的事不于此


们稍后会实现这两种方法。也许有的读者会问,为什么像4.3节中,直接用常量指定窗口大小。当然,像
4.3节那样做是完全可行的,但读者随后也会发现,我们通常无法一次性得到完美的窗口大小,需要经常
不像


p45
3.5.4老问题:如何调用?
    我们辛辛苦苦编写好了窗口的代码,但是要如何让它变成现实呢?当然,在我们没有接触复杂的窗口
逻辑之前,使用4.3节的方法就可以了,它的基本思路就是在事件中调用脚本指令,实例化一个窗口,并
将其显示在屏幕上。
在仿照4.3节的同时,你需要注意下面几个问题:
类名匹配吗?4.4节的窗口名字已经不再是4.3节中的Window Foo了!
调用的参数正确吗?4.3节中的例子不需要传递参数,而这里我们需要传递两个参数。
释放窗口了吗?一定要在最后调用dispose方法,将窗口释放掉,否则它将一直存在。

为了让读者能够排除符合自己设计的内容,这里有必要向读者介绍RGSS3中的布局体系①。
不懂...


p46
它们分别为窗口的宽度减两倍边距和窗口高度减两个边距。
统一一下


p47
在Window Command中,考虑到项目数的变动
"的"多余


p48
我们需要知道玩家当前拥有那些物品和物品的数量
哪些


p50
all_items方法会返回一个数组
"了"多余

首先调用make_item_list来生成当前持有的物品列表
"为"多余


p51
读者因该能很容易地窗口的实例化的代码
应该
容易地理解窗口


我们手动调用refresh方法进行绘制的处理。
update方法


p53
不妨查看一下默认的带选择框的窗体是如何
窗口


p55
看到这种写法就你应该清禁这代表“脚本组”,
你就
清楚



p62
也没发现任何可以的代码。
怪...

然后在默认脚本中找到了作证
佐证

    你终于明白了RGSS3是如何避免前辈们的尴尬了:使用me七hod方法将场景中的command equip
方法封装成一个方法对象,因为场景知道其它窗口的存在,也知道要干什么,只是不知道要多久干;然后
使用se七handler方法将:ok与该方法对象绑定起来,窗口知道该多久干,但不知道要干什么。这样,
@ca七egory window还是按正常的模式更新,而当按下确定键选取项目后,RGSS3系统就直接使用call
方法调用这个方法对象就可以了!
啥时干较好


p63
人们似乎意识到这样管理存在一些问题。首先,$scene是个全局变量,意味着任何时候它都有可能被更改,
人们似乎意识到这样管理存在一些问题

自动跳转场景A




p64
有两个非常重要的过程构成了其运作的基石
"而"多余

的中数组就可以实现这样一个结构
中的

东西可以弹出了!(好在Ruby中很少遇到栈满的情况。)
不是栈空吗...

p65
它似乎等价前代中的$scene,但又不像前.



p66
而是main方法的原因所在了
"了"多余


p68
指令列表的数量通常都不



p69
指令列表就是让



p70
比如,在



p72
所以,在利用默认素材的情况下,合理布局,在细



p73
RPG Maker中的菜单脚本相当多……但有几个脚本我印象尤其之深:



p74
很简单,我们的指令窗体只有一行,最大列数就是最大项目数。
窗口


p76
提供的draw_currentcy_value方法即可完成绘制。之所以使用该方法,是因为该方法可以让货币单位
currency

我们这里只是修改了它该如何呈现,并没有修改数据的控制逻辑,因此复用之前的代码是否容易
怪...


p77
息,但是如果我们需要让未选中的图标半透明的话,又怎么做呢?):



p79
我们无法直接看到部分内容-
使


p80
def item_rect_for_face(index)
割裂了...建议移至下一页...

方法该方法描述要如何绘制每一个项目。
方法该方法描述要如何绘制每一个项目。

取得与选择项目对应的角色,然后计算用于描
"选"多余
相对应


p82
她的头像左下角是中状态。



p83
陵下来的工作,是对道具窗口的仿制。
"放"多余


p86
由于这个菜单设计非常经凑,所以实际能给我们的f
紧凑


p87
这次的任务稍微复杂点,需要我们在尽量保留原有信息的基础上,让内容变得更加经凑,这基本上是
紧凑


p91
负责处理并应玩家的选择



p92
f)初始化画面更新次数(Graphics.frame_count为0);
设置

将这些序列化对象以文字的形式按照被转储到众多后缀为rvdata2
好的


p93
而$game message则是用



p94
当@actors被修改时不会反过来影响


最后,置Grphics模块中的frame count变
重复
设置


这个变量记录了游戏运行的多少帧
运行的帧数

"的"多余

不应该修改它,否则就会影响到其它的存档。相反,以$game开头的全局变量都只对当前存档有效。
实例

它是所有实例的参考标准(比如不同存档),你
不同的存档


p95
到屏幕上的图像重绘),输入更新


画面更新输入更新窗口更新
可用"、"

负责应按键或者



p96
如果还没可以切换场景就按照下面的操作更新
"还没可以"多余

我们很自然想到在这里我们可以加入一些自定义的响应。



P97
注意被加粗的那句代码,那是我们添加的。
哪句?...

HUD最早出现在军用飞机上,是让是指飞行员不需要低头就能够看到他需要的重要资讯。
"是让"多余
p100
3余上队伍的规模3人
mod好些...

里外,update_actor_state用于更新角色的状态,
另外


p101
在初始化也要创建HUD



p102
方法计算而得,改写后的代码新增加了width和height方法,就下面这样:



p103
高度只有一行,所以通过fitting_ height方法取
可以


p104
同时RGSS3也把内容给同名
透明


p107
岂不
这岂不是

的规则。但这种规则早在Lisp中就有了,Ruby只是将其发扬光大了而己!
被切割了...


p108
建立一个setter,而
"是"多余


p109
特别,如果表达式是一个实例变量(比如此处的



p112
对应,它们分别由



p113
和事件解释器Game_Inerpreter
Interpreter


p114
它们被可见性被定义为
"被可见性"多余


p116
6.1 Vocab、Sound
6.1 Vocab、Sound、Cache

模块更多的则是方法


因为需要这些用这些方法来完成一个动作
"这些"多余


p126
呃... a 是多的吗?


p134
提供的位置调整按钮来脚本移动到适当的位置



p137
着奇怪代码黑客们,总是乐此不疲地摘
代码的黑客

社区中涌现出了许多鬼斧神工的脚本
"现"多余

有很多人搅尽心思地去学脚本,希望有朝一日能够编
绞尽心思


p138
同社区一样,程


(我们推荐大家这样)
"但"多余


p139
而对于些遵守FSL的脚本,



p142
于是我们把这个为这个
"这个为"多余


p143
Hash的map(同义词是collec七)用于将一个一元块逐个应用于每个元素,并组成新的Hash。
说Hash但是下面是Array...

评分

参与人数 1星屑 +140 收起 理由
DeathKing + 140 辛苦了……我取消了提醒,好像一年后才看到.

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-22 13:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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