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

Project1

 找回密码
 注册会员
搜索
查看: 4031|回复: 5

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

[复制链接]

Lv3.寻梦者

梦石
0
星屑
1264
在线时间
127 小时
注册时间
2017-1-14
帖子
93

开拓者

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

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

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

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并刷新,就不会报错,原因暂时不明。

JAVASCRIPT 代码复制
  1. class AnyClass extends Sprite {
  2. constructor() { super(); }
  3. initialize() { super.initialize(); }
  4. }

JAVASCRIPT 代码复制
  1. class AnyClass extends Sprite {
  2. constructor() { super(); }
  3. initialize() { super.initialize.call(this); }
  4. }


替代方案:

JAVASCRIPT 代码复制
  1. class AnyClass extends Sprite {
  2. constructor() { super(); }
  3. initialize() { Sprite.prototype.initialize.call(this); }
  4. }


特性列表

* 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

Lv3.寻梦者

梦石
0
星屑
1294
在线时间
962 小时
注册时间
2012-4-30
帖子
1475

开拓者

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

点评

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

使用道具 举报

Lv1.梦旅人

路人党员

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

使用道具 举报

Lv1.梦旅人

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

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


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

完结。
回复 支持 反对

使用道具 举报

Lv2.观梦者

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

分享一个rmmv的typescript版本。

https://gitee.com/598758230/rpgmakermv_typescript
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-3-28 17:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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