- [Triacontane(トリアコンタン)]HiddenLeve
- [Triacontane(トリアコンタン)]Accumulate
- [Triacontane(トリアコンタン)]Accumulate
- [Triacontane(トリアコンタン)]BugFixBitm
- [Triacontane(トリアコンタン)]AirshipHei
- [Triacontane(トリアコンタン)]Additional
- [Triacontane(トリアコンタン)]AllowEvent
- [Triacontane(トリアコンタン)]Additional
- [Triacontane(トリアコンタン)]AddSubCate
- [Triacontane(トリアコンタン)]AdjustPict
点这里返回总目录
题记
因为这是第一个分析的插件,所以写的细致了一些。
以后可能就会粗略一些。
这个插件的更新可以在作者Triacontane的github上得到。
面对对象的JS
在一切开始之前,我们要知道的是JS中的对象。
JS中的所有事物都是对象:字符串、数值、数组、函数,以及自定义的对象{}。
对象拥有两个东东(词穷了),一个是属性,一个是方法。
objectName.propertyName//属性
objectName.methodName()//方法
关于类,大概10年前,楼主学过一点C++,里面有类的概念,是相似方法的对象集合的抽象。
但是JS里,并没有类或接口的概念,不能直接定义抽象的类。
但是可以通过new方法,来创造实例。
目前楼主只知道以上知识,并且觉得以上知识看上去不起眼,但还是很重要,因此先放在前面。
AccumulateState累积型状态PartB
大致的结构
Triacontane的AccumulateState.js分为3个大块:
- JS文件注释。
- 能被MV插件管理器所识别的插件信息注释。
- JS代码部分。
JS文件注释
这里的注释我指的是//开头的内容。实际上后面的也是JS注释。但是那个和这里在MV里有区别。
应该是作者写给自己或者单独打开JS文件的人看的。从MV的插件管理器里是看不到这部分。
从这里能够看到Triacontane的一些信息:文件名,授权方式,更新履历,联系方式等。
这个部分并不是必须的,有些插件就没有这部分。但是如果有写文件名的习惯,对于别人修改来说是有好处的。
能被MV插件管理器所识别的插件信息注释
/*:
开头,到*/
为止,这部分的注释能够被MV插件管理器所识别,在这里用户输入的数据,会被写进plugin.js里。
管理器识别有既定的模式,不防新建一个空的js文件,然后试试:
因为参数比较复杂,先说一般只出现一次的。
- @plugindesc 插件描述 (一般来说仅出现一次)
- @author 作者名 (一般来说仅出现一次)
- @help 帮助内容 (一般来说仅出现一次)
所以一个简单的,能被插件管理器识别的JS插件大致有如下代码:
//文件名.js
/*:
* @plugindesc 这是一个MV插件
* @author 地球上的某个人
* @help 帮助内容。
*/
关于插件的参数
其实觉得插件参数,基本上都是给别人用的,如果是给自己用,直接写在js里的话,可以省一些代码。觉得js找起来太乱了,还可以写在json里。
但是基本上插件都有参数设置。是因为考虑到给别人使用的情况。
如果特定为某个游戏制作插件,可以不设置插件的参数。
比较复杂的参数还可以是结构式,并且嵌套多层。
- @param 参数名。(可出现多次)
- @parent 父类或者直接说是分类 当有很多参数的时候,可以用这个在管理器中产生折叠效果。
- @desc 参数的描述(对应每一个param)
- @default 该参数的默认值(对应每一个param)
- @require 需要的数量(对应每一个param,不一定出现,应该说这个并不常见)
- @type 要求输入的类型(常见的,比较简单的有boolean,number等,不一定出现)
- @type struct<数据结构> (这个功能很强,让使用者能够更清晰地操纵参数。不过相应的,要写多一个/*struct开头的定义,这个插件里没用到,而且较为复杂,还是以后见到再看吧。)
- @dir 文件夹前缀(对应的往往是@type file)
- @min 最小值(前面的是@type number 不一定出现)
- @max 最大值(前面的是@type number 不一定出现)
网友评论