如何用ES6的类语法糖来编写rmmv插件?

如何用ES6的类语法糖来编写rmmv插件?

关键词

RPGMV插件ES2015

前言

本文章井作为测试用例。

使用ES6的语法糖替换掉rmmv的函数类

想要使用ES6开发插件,必须会遇到如何使用ES6来继承源码的prototype函数类,MDN的class参考给了我们一个具体的示例。点此阅读class参考

function Animal (name) {
  this.name = name;
}
Animal.prototype.speak = function () {
  console.log(this.name + ' makes a noise.');}
class Dog extends Animal {
  speak() {
    super.speak();
    console.log(this.name + ' barks.');
  }}
var d = new Dog('Mitzie');
d.speak();//Mitzie makes a noise.  Mitzie barks.

我们可以给出这样的准则:

  • class继承的子类中,在构造函数内都使用super来调用父类的属性。否则子类无法使用this来调用父类的属性。
  • 如果重写的方法在功能上和父类相同,就使用super,否则不使用super。这种写法相当于.call(this)

重构准则

当我们使用ES6的语法时,我们可以用模块化的方式来编写rmmv的插件,在模块化开发下,平时的插件代码应该这样重构:

  1. 成员变量初始化写法的重构

old:

this.initialize.apply(this, arguments);

new:

super();

这行代码的本质是实现变量的成员变量的赋初值,在constructor构造函数内调用super();。即可初始化来自父类的成员变量。

  1. 父类方法调用的重构

old:

Scene_Base.prototype.create.call(this);

new:

super.create();

这行代码的本质是调用来自父类的方法,并在调用父类方法的时候,绑定子类的this对象,实现子类对象调用父类方法。用类似于Javasuper关键字即可调用来自父类的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【实例教程1】怎样编写一个插件? 1. 插件的注释与定义参数 2. 读取插件参数 3. 插件指令的实现 【实例教程2】制作一个启动画面 1. 从哪里开始? 2. 创建启动画面的场景 【实例教程3】玩转菜单初级篇 1. 给各个菜单界面添加背景 2. 让背景滚动起来 3. 在主菜单界面增加自定义菜单:改名 4. 在主菜单界面移除菜单命令 5. 在主菜单界面增加一个自定义窗口 【实例教程4】玩转标题画面 1. 美化游戏标题 2. 让背景动起来 3. 自定义标题菜单 4. 美化菜单 【实例教程5】制作小游戏:坦克大战(上) 1. 游戏结构及流程介绍 2. 相关素材资源的下载和使用 3. 基础知识:音效的播放 4. 基础知识:精灵表的切帧 5. 基础知识:使用MV中的动画 6. Scene_TankWarTitle解析 7. Sprite_Bullet解析 8. Sprite_Explode解析 9. Sprite_Tank解析 10. Sprite_Enemy解析 11. Scene_TankWar解析 12. Scene_TankWarGameOver解析 【实例教程6】存档的加密解密与保护 1. 找出MV存档和读档的方 2. 制作MV存档的修改器 3. 如何保护存档? 4. 制作一个存档保护插件 【实例教程7】制作一个传送插件 1. 传送插件的主要功能 2. 将自定义数据保存到存档中 3. meta数据的使用 4. 使用地图备注登记传送点 5. 在插件中解析并记录传送点 6. 使用地图备注登记多个传送点并在插件中记录 7. 制作传送点选取窗口显示传送点数据 8. 将物品或技能标记为传送物品、传送技能 9. 显示传送动画实现传送功能 10. 禁止使用传送道具或传送技能 11. 实现插件命令

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值