RPGMaker MV 插件基础04:插件指令与脚本

插件指令与脚本是应用在RPGMaker事件流程中的,如果你在插件里自定义了一种行为,那么可以通过插件指令来调用,脚本就更加灵活了,因为脚本里是直接可以编写js代码的。当然自定义的函数也可以被脚本调用。

首先来了解一下插件指令,先新建一个“test.js”插件,在插件中插入以下代码:

//处理插件指令
Game_Interpreter.prototype.pluginCommand = function(command, args){
    if(command == "test"){
        $gameMessage.add(args[0]);
    }
}

先解释一下这几行代码:

第1行就是重写官方代码中的方法,其实官方代码中这个方法是个空方法,也就是说这个方法本就是预留给插件开发者的

第2行,判断command是不是等于字符串“test”,command是方法的一个参数,也就是插件指令中的命令,命令是什么呢我们后面会讲

第3行,$gameMessage是游戏消息的对象,add就是加入一个消息,消息的内容是args这个数组的第0号元素,args是插件指令的参数列表

好了,保存代码之后,把插件添加到插件管理器中。

在场景中新建一个事件,在右侧的事件执行内容中右键新增,打开后按下图操作:


可以看到我们在输入框中输入了“test hello”,这里的内容用空格格开,空格前的test就是插件命令(可以翻上去看看第2行代码的解释)

空格后的hello就是插件指令的参数(可以翻上去看看第3行代码的解释),当然了这里只有一个参数,如果需要多个参数就再用空格隔开就好了

确定后,运行游戏,去触碰事件,可以看到如下效果:


可以看到,插件指令的参数被当成消息显示出来了,可以在插件指令中修改其参数再来看看效果。

这就是简单的插件指令的用法,接下来也简单说说脚本如何调用插件中定义的方法,在test.js里再加入如下代码:

//脚本可以调用本方法
var test_fun = function(s){
    $gameMessage.add(s);
}

这里我们简单定义了一个方法,然后我们在事件中新建一个这样的内容:


保存后运行,与事件交互,可以看到效果:


另外在条件分支中还可以调用我们自己定义的方法,但是需要返回一个布尔值(true 或 false)

//脚本返回值
var test_equal = function(a, b){
    return (a == b);
}

增加以上代码后,在事件中新增一个条件分支,如下图:


为每个分支也增加消息的输出:


我们看一下这个事件,由于我们条件是test_equal(1, 1),而上面我们新加的方法是判断两个参数是否相等,所以可以看出来与事件交互时,应该会调用方法test_fun,也就输出消息“满足条件”,运行一下看看效果是否如此:


可以看到运行结果与我们的期望相符,这时我们修改一下条件中的脚本:


这个时候1和2不相等了,所以应该会执行脚本指令,也就是输出消息“不满足”,运行看看效果:


好了,同样是符合我们的期望的

这就是插件指令与脚本的一些用法,可以帮助我们写出更多与玩家有真正交互的功能与特别的玩法

【实例教程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. 实现插件命令
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值