查看: 5271|回复: 5

[交流讨论] RPG Maker MV支持的ECMAScript6特性列表

[复制链接]
梦石
0
星屑
1324
在线时间
127 小时
注册时间
2017-1-14
回帖
76

开拓者

发表于 2017-7-15 19:41:43 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 怠惰な騎士 于 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并刷新,就不会报错,原因暂时不明。

[pre lang="javascript"]class AnyClass extends Sprite {
constructor() { super(); }
initialize() { super.initialize(); }
}[/pre]
[pre lang="javascript"]class AnyClass extends Sprite {
constructor() { super(); }
initialize() { super.initialize.call(this); }
}[/pre]

替代方案:

[pre lang="javascript"]class AnyClass extends Sprite {
constructor() { super(); }
initialize() { Sprite.prototype.initialize.call(this); }
}[/pre]

特性列表

* 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
梦石
0
星屑
2306
在线时间
1010 小时
注册时间
2012-4-30
回帖
1455

开拓者

发表于 2017-7-18 10:01:05 | 显示全部楼层
用extends看起来是舒服点但是和其他脚本一起看就很难受了。。既然不能完美支持还是等更新吧。。应该会慢慢跟上的。。

点评

希望完全支持ES6后kadokawa会把默认的js都用extends语法重写吧哈哈哈。。  发表于 2017-7-18 10:03
回复

使用道具 举报

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
回帖
3011
发表于 2017-7-18 12:49:56 | 显示全部楼层
貌似可以用TypeScript來解决JavaScript的各种坑爹
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到engshun@1ppl.me咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复

使用道具 举报

梦石
0
星屑
80
在线时间
10 小时
注册时间
2018-6-15
回帖
3
发表于 2018-6-15 16:22:23 | 显示全部楼层
本帖最后由 FxPixels 于 2018-6-15 16:46 编辑

现在呢…其实我想知道能不能导入ajax库。另外看到上面还不支持promise呢…


更新——发现了这个东西:
https://rpg.blue/thread-384710-1-1.html

完结。
回复

使用道具 举报

梦石
0
星屑
552
在线时间
39 小时
注册时间
2021-1-25
回帖
8
发表于 2022-12-2 12:49:17 | 显示全部楼层
英顺的马甲 发表于 2017-7-18 12:49
貌似可以用TypeScript來解决JavaScript的各种坑爹

分享一个rmmv的typescript版本。

https://gitee.com/598758230/rpgmakermv_typescript
本人不经常访问P1,请通过 https://github.com/ruan-cat 联系我。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部