加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 怠惰な騎士 于 2017-7-16 02:27 编辑
RPG Maker MV 内核的大部分代码均使用ECMAScript5(JavaScript)编写,但由于RMMV使用NW.js(又名Node-webkit)作为其脚本运行环境,尽管RMMV所用nw.js的版本是老的0.12.3,但这个版本依旧有一些已经实现了的可以使用的ES6的特性。
下方是基于Kino在RMWEB发的帖子整理后的RMMV内确认已经可以使用的ECMAScript6的特性语法。
注意:如果你发现任何特性失效或者有新的特性,欢迎在楼下指出,我会及时更新本帖。
已发现的问题
类方法中的super调用
版本:1.5.0
错误:ReferenceError - 'super' is referenced from non-method
如下的代码会在游戏中报错,但如果打开了F8并刷新,就不会报错,原因暂时不明。
class AnyClass extends Sprite { constructor() { super(); } initialize() { super.initialize(); } }
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { super.initialize(); }
}
class AnyClass extends Sprite { constructor() { super(); } initialize() { super.initialize.call(this); } }
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { super.initialize.call(this); }
}
替代方案:
class AnyClass extends Sprite { constructor() { super(); } initialize() { Sprite.prototype.initialize.call(this); } }
class AnyClass extends Sprite {
constructor() { super(); }
initialize() { Sprite.prototype.initialize.call(this); }
}
特性列表
* Block Scoped Variables
* Objects
* Objects Assignment
* Shorthand Object Properties
* Method Properties
* Template Literals
* Expression Interpolation
* Multiline Strings
* Classess
* Class Inheritance
* Base Class Access
* Getters and Setters
* Symbols
* String Methods
* Repeat
* Starts With
* Includes
* IndexOf
* Numbers
* Type Checking
* Safety Checking
* Number Comparison
* Truncation
* Sign Determination
* Sets and Weak Sets
* Maps and Weak Maps
参考资料:
* RPGMaker MV ES6 Feature List @ Kino 2016.9.26
* ES6-Features.org |