RPGMaker MV 插件基础02:插件的参数定义

回顾上一节,我们创建了一个test.js文件,对应的插件名称就是test,我们定义了插件的名称,作者与帮助信息,这节讲一下如何定义插件的参数并且通过js代码获得参数


还是接着上一节的js文件,在定义作者与帮助信息之间,增加这样三行:

 * @param centent* @desc 这是一个测试的插件参数* @default hello world

这样就定义了一个插件的参数,关键点如下:

@param 参数的名称

@desc 此参数的描述

@default 默认值


保存js文件,打开RPGMaker的插件管理界面,就能看到刚才定义的参数了:


双击参数名称或参数值,可以修改这个参数。


在js中,我们需要获得在插件管理器中设置的值,如何获得呢?在注释块外增加两行代码:

var MyParameters = PluginManager.parameters('test');
alert(MyParameters.centent);
解释一下:

  • PluginManager是RPGMaker提供的插件管理类,PluginManager.parameters方法可以获得指定插件中所有插件参数对象('test'是插件名)
  • 获得此对象后,将这个对象赋给MyParameters,此后,MyParameters就代表'test'插件的参数了
  • alert是弹出一个对话框,对话框的内容是MyParameters对象中的centent这个参数的值
好了,现在我们保存一下,运行游戏,可以得到以下结果:


可以看到,游戏成功弹出对话框,而对话框的内容正好是我们设置的centent的值。

(PS:为什么背景是黑框?因为插件在加载时就弹出了对话框,而这个时候游戏还没有加载完全,所以背景是黑色的,同时我们弹出来的对话框是模式窗口,也就是说在这个弹框关闭之前js代码不会往下执行,所以只要关闭对话框就可以恢复正常。当然这种写法是很有问题的,这里只是让大家了解如何获得参数的值才使用这种写法)

如果需要定义多个参数时怎么办呢?只需要在定义作者与帮助信息之间插入即可:

 * @param centent1* @desc 这是第一个测试的插件参数* @default hello world** @param centent2* @desc 这是第二个测试的插件参数* @default hello world


而调用的方法也是一样:

var MyParameters = PluginManager.parameters('test');
alert(MyParameters.centent1);
alert(MyParameters.centent2);

另外,参数名称还支持包含空格,如以下代码:

 * @param This is centent3* @desc 这是第三个名称带空格的测试的插件参数* @default hello world

注意在这种情况下,使用MyParameters.This is centent3来访问插件参数将会报错,这个时候我们需要换一种访问方法

var MyParameters = PluginManager.parameters('test');
alert(MyParameters.centent1);
alert(MyParameters.centent2);
alert(MyParameters["This is centent3"]);

当然上面的MyParameters.centent1写成MyParameters["centent1"]也是一样的

以上就是插件参数的定义与从js中获取在RPGMaker设置的值的方法,下面是全部代码:

//=============================================================================
// test.js
//=============================================================================/*:* @plugindesc 我的第一个插件* @author Nazgul** @param centent1* @desc 这是第一个测试的插件参数* @default hello world** @param centent2* @desc 这是第二个测试的插件参数* @default hello world** @param This is centent3* @desc 这是第三个名称带空格的测试的插件参数* @default hello world** @help* * 这里是帮助信息**/var MyParameters = PluginManager.parameters('test');
alert(MyParameters.centent1);
alert(MyParameters.centent2);
alert(MyParameters["This is centent3"]);




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1382780.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

软件外包开发的桌面客户端开发

跨平台桌面客户端开发工具允许开发者在多个操作系统上构建应用程序,从而实现一次编码、多平台运行的目标。以下是几个常见的跨平台桌面客户端开发工具以及它们的特点,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司&a…

Java程序控制结构,一文带你彻底拿下~

—— 程序的运行流程控制会解决程序是如何执行的 三大程序流程控制结构 1)顺序结构:程序从上到下逐行逐行的执行,中间没有任何的判断和跳转 2)分支结构:程序具有选择性的进入某一段代码 3)循环结构&#xf…

数据同步工具:Canal

大家好,欢迎来到本篇博客,博主是一名刚入大数据行业的小白,利用空闲的时间来分享自己所学的知识,帮助和博主一样刚处于起步阶段的同学,水平不高,若有什么错误和纰漏之处恳请大佬不吝赐教,目前个人博客只有CSDN:https://zhenyu.blog.csdn.net/,感谢大家的支持,谢谢 送给大家一句…

ElasticSearch千万级数据同步方案

(原创)针对于将数据同步到ES中,有HttpHost、BulkProcessor等方式,怎么才能更高效的加载数据 在我开发测试过程中,一直觉得这些方式效率都不是很好 1、IndexResponse的方式,经过测试(Linux环境&a…

系统间数据同步方案

一.RabbitMQ分布式集群架构 设计集群的目的 允许消费者和生产者在RabbitMQ节点崩溃的情况下继续运行 通过增加更多的节点来扩展消息通信的吞吐量 1 集群配置方式 RabbitMQ可以通过三种方法来部署分布式集群系统,分别是:cluster,federation,shovel …

MySQL 数据同步

MYSQL 数据备份 背景:在本地开发时,经常需要将本地测试数据同步到服务器上,通过navicat 或者sqlyog 虽然可以将数据便捷的导入导出,但总是觉得比较麻烦 于是想通过直接拷贝mysql数据文件的方式,进行数据的同步。 操作步…

mysql和elastic search数据同步方案

方案一 利用es api实时写入es中 优点:实时性高,能灵活控制写入es的时间 缺点:同步方案与业务逻辑耦合,严重依赖于es api,破坏了原有业务程序逻辑 demo:https://blog.csdn.net/fanrenxiang/article/deta…

不同业务场景下数据同步方案设计

企业开发实践中通常需要提供数据搜索的功能,例如,电商系统中的商品搜索、订单搜索等。通常,搜索任务通常由搜索引擎担当。如Elasticsearch。而我们的原始数据为了安全性等问题通常存储在关系型数据库中。在搜索数据前,我们需要先将…

mysql-elasticsearch数据同步方案

es数据同步方案 前言方案对比 logstash方式安装配置启动测试 canal方式MQ方式 前言 上两篇文章介绍过EL的安装和使用,接下来,我们面临的问题是怎么把数据同步到es里,比如,商城的商品数据,商品需要搜索,所以…

1、数据同步方案设计

数据同步要解决2个问题,1是存量数据同步,2是增是数据同步。存量同步只需要进行一次,所以又叫离线同步,或批处理同步。增量同步要解决每时每刻的数据变化同步,要运行多次,所以又叫实时同步,流处理同步。 数据准实时复制(CDC)是目前数据同步中大量使用的技术,随着国产化…

几种常见的数据同步方式

数据仓库的特性之一是集成,即首先把未经过加工处理的、不同来源的、不同形式的数据同步到ODS层,一般情况下,这些ODS层数据包括日志数据和业务DB数据。对于业务DB数据而言(比如存储在MySQL中),将数据采集并导入到数仓中(通常是Hive…

DP1.4接口的PCB布局布线要求

DP接口即为DisplayPort接口,是由视频电子标准协会发布的显示接口。DP接口将在传输视频信号的同时加入对高清音频信号传输的支持,并且同时支持更高的分辨率以及刷新率。DP1.4通信端口规范新标准基于DP1.3规范,宽度不变但加入了显示压缩流技术&…

LoadRunner(2)

一、Controller 1.1场景设计 1.通过VUG打开 施压机器:发起请求的角色(用户本地电脑) 被压机器:处理请求的角色(服务器) 2.直接双击Controller 场景设计:需要关注三个部分 第一部分: 第二部分: 2.1运行场景…

[每周一更]-(第58期):选购佳能变焦镜头 EF-S 18-200mm F/3.5-5.6 IS的心得

参考地址: https://www.canon.com.cn/purchase/onlinesale/index3.html?typejdhttps://www.canon.com.cn/overview/efwidezoom.html 讲在买之前 由于没有买全画幅,买了残幅,好处是能选的镜头有限,不用太费钱了,需要…

教程 | 10分钟掌握手帐入门技能

亲,今天你画简笔画了吗? 如果没有在画纸上画,那就一起在手帐本上一展身手吧。 我先提供一点简笔素材: 1 2 3 手帐 有人说一入手帐深似海,从此笔纸要随行。 在日本,很多人都会随身带着一个被称为“手帐”的笔…

医院如何选择HIS及电子病历系统

近来有朋友来信问我:如何选择HIS及电子病历系统?我就从我个人的经历来浅谈这个问题,我是一名医护工作者,仅供参考。 如果是新建的医院首先对自身有一个清晰的定位,包括:品牌,价值,文化,理念。我们做成为一家什么样的医院?我们的品牌路线是什么线的?我们的核心价值观是什么?…

医院信息管理云平台源码 云HIS系统源码 4级电子病历系统

基层医院云HIS系统源码 高端商业his源码 有演示,可直接项目运营。 一款满足基层医院各类业务需要的云HIS系统。该系统能帮助基层医院完成日常各类业务,提供病患挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生站和护士站等一系列常规…

大型EMR电子病历源码三甲医院医疗信息管理系统软件网络版

详情请点击查看 开发环境 :VS2010 C# ORACLE系统简介:1各种记录的书写,并可保留修改痕迹 在各种记录的书写过程中,根据系统提供的首次护理记录、一般护理记录、术前术后护理记录等模板,可方便、轻松地完成书写。上级…

医疗记录系统

医疗管理系统 | Dorian 项目介绍 📖 👉基于Springbootvueuni-app的医疗管理系统. 含平台主体微信小程序和web后台数据管理平台. 项目技术栈 ⭐️ 微信小程序(MedicalSystem_uniapp):uni-app Vue.js 后台管理系统(MedicalSystem_Web)&…