|
本帖最后由 MCCF 于 2020-6-10 20:51 编辑
零、口胡
本小本本持续更新(大概)
众所周知许多大佬都有自己的小本本,我这个蒟蒻为了跟(zhuang)风(bi)所以也自己写了一份,希望可以帮助到大家233
感觉我写的这个东西好像也并没有什么卵用orz
一、GMain
GMain是游戏的总数据处理部分。
众所周知G部分是游戏进程的数据,存储的是本次游戏进程独有的临时数据;在重开游戏或读档后也会重置。所以,当我们需要读取或设置本次游戏的数据时,通常都会在GMain中处理。
主要的GMain实例为RV.GameData,在游戏LOGO界面初始化完毕后即会被自动初始化。
但要注意,在“开始游戏”或“读取游戏”之前,GMain的大部分属性将为空,因为它是游戏过程中的数据。
1. 属性概览
GMain#actor存储一个GActor的实例,也就是说RV.GameData.actor就能访问到当前的全局GActor实例。
GMain#value为变量的数组。可以用形如RV.GameData.value[id]的方式访问到第id号变量。
如果需要指定访问变量为空时的默认值,可使用GMain#getValue(id,default)方法。另外,有时候我们希望访问一个数值变量且不接受非数值变量(返回默认值),使用GMain#getValueNum(id,default)方法。
GMain#selfSwitch为独立开关的三维数组。使用形如RV.GameData.selfSwitch[mapId][triggerId][switchId]的方式调用或设置。注意,此处的switchId在编辑器中为A到I,实际依次对应0到8。
GMain#mapId存储当前地图ID,GMain#x和GMain#y存储当前角色的逻辑坐标(以格为单位)。
GMain#dir存储当前角色的逻辑朝向。在ACT中,朝向只有0和1两个取值,表示左和右;在ARPG中,如果是四方向则从0到3依次为下、左、右、上,如有八方向则从4到7依次为左下、右下、左上、右上。
GMain#money存储当前金钱的数额。GMain#step存储当前角色走过的步数。
GMain#isGravity存储玩家角色是否拥有重力,GMain#gravityNum存储重力系数(每帧重力加速度)。
GMain#jumpNum存储跳跃高度,GMain#jumpTimes存储连跳次数。GMain#isCanPenetreate存储玩家可否穿墙。
GMain#items为当前背包物品的数组,其每个元素皆为DBagItem的实例。注意,这里的数组项目的顺序只取决于获得物品的顺序,并非根据ID排序。其中,背包物品的type从0,1,2对应物品、武器、防具。
GMain中还有关于物品的几个快捷方法。例如,RV.GameData.addItem(type,id,num)获取type类第id号物品num个;GMain#useItem(id,num,type)同理。另外,还有一个GMain#discardItem(item,num)方法用于丢去物品,这里item需要传入一个DBagItem的实例。例如,RV.GameData.items[2]获得背包中第三种物品的实例。
二、控件组
控件组是一个动态定义控件数量并独立成组的功能,它能够快捷地遍历系统数据或对象。例如,遍历背包物品,并针对每个物品生成一个按钮控件,即可使用控件组完成。
当界面给控件组传入一个可枚举的对象或数组,可视化UI会为对象或数组的每项生成一个控件,并将对应项作为参数传入控件的上下文中。这样,每个控件内部就能单独作出处理,形成可动态变化的控件组。
1. 控件部分
(1)新建一个自定义控件,并设置好名称等基础属性。
(2)在自定义控件内部拖入一些元素。注意控件的最右下角不建议超过你在第2部分"自定义控件"中的尺寸。
(3)在控件的上下文内,可以使用obj这个脚本对象,它指向这个控件对应的对象的那一项(注意不是遍历对象本身)。目前已知在"执行脚本","执行触发器指令"中的指令"脚本",以及各种"脚本指定"等位置均可用。
(4)例如,设置一个图像,其路径为脚本指定的obj.icon,或设置一个文本,为脚本指定的obj.text等。
2. 界面部分
(1)新建一个控件组,控件就选择我们刚做的那个自定义控件。
(2)在右侧栏中设置好基础图层、显示条件、坐标等设置。
(2)转到"自定义控件"选项卡。可以看到有一个“遍历对象”也就是所要传入的可枚举对象。例如,写入RV.GameData.items就会遍历背包物品,并生成对应数量的控件在控件组内。
(2)"列数"设置控件组的最大列数。例如设置列数为5,而实际有10个控件时就会正好占满两行,每行5个。
(3)"宽度”和"高度"设置每个控件的尺寸。这主要是为了确定后续控件的位置,实际上并不会裁剪控件。
(4)转回"预览尺寸"选项卡。这里有一个预览数量,注意实际上控件的数量是不确定的,这里设置只是方便预览。而"宽度”和"高度"则是设置(骚)紫色预览矩形的尺寸,对于实际使用也并无影响。 |
评分
-
查看全部评分
|