RPGMAKER游戏引擎基于JavaScript的插件制作(六)——重写方法(三):在场景(scenes)中创建精灵(Sprite)——复制式重写的实例教学

因为要开新坑了,准备连续更新把这个插件制作的坑填完,之后更新的是“可交互精灵——事件绑定教学”,“窗口(windows)教学","自动战斗AI实现——学会自我挖掘引擎功能”。


本文通过在地图场景创建精灵对象的实例,让读者学习复制式重写的基本使用方法,能够通过位图文件和位图对象创建精灵
同时会帮助大家辨析几个比较容易混淆的概念:场景scenes,窗口windows,精灵sprites


6.1辨析场景(scenes),窗口(windows),精灵(sprites)

打开文件夹发现这三种对象都各自有一个JS文件来创立,这几个概念大家是容易搞混的,这里我直接帮助大家区分:
scenes:游戏运行时最底层栈所显示的对象,就像一块一样画板,是各种精灵(颜料),窗口(画布)对象的活动场所,切换场景时,应该是把原先的场景清除出栈,再载入新的场景。
常见的有“基础场景(Scene_Base)“,“开始界面场景(Scene_Title)”,”地图场景(Scene_Map,主角在大地图上活动的场景)“,”战斗场景(Scene_Battle,进入战斗后的场景)“
windows:基于场景,跳出后覆盖场景,只能对于位于栈顶的窗口进行操作,退栈之后退回到上一个窗口或者场景,就像在一块画板上铺一层画布。
常见的有读取存档窗口,角色属性窗口,背包窗口。
sprites:看到精灵,大家都会想到是个轻盈,可以到处飞的小家伙,精灵就是可以存在于各种场景,窗口上面,又不影响其运作的东西,而且精灵的功能非常多,可以作为图标,按键,角色等等,是我们最常用的对象。

接下来我将复制一个精灵,并将其安放在地图场景中,来教大家复制式重写,以及精灵,场景对象的运用。

6.2 代码逐段解析

下图是这次的目标,在大地图场景中的左上角放一个闹钟图片精灵和一个文字精灵,Let’s go!
实现上图效果,在地图场景中的左上角插入一个时钟图像, 以及一串文字

我将逐段解析,大家最好打开项目跟着我的指导做,自己键入代码,写上注释。

6.2.1 前期工作——设置命名空间,插件参数

为了让大家养成良好习惯,还是要写一下命名空间,对于较小的插件,创建的命名空间就和插件名称一样即可:

//==================================================
//spriteTest
//===================================================
/*:
 *@plugindesc 精灵,位图,场景实验插件
 *@author 进入盛夏之门
 *
 *@param text
 *@desc 这是显示的字符段
 *@default 我是一个闹钟
 *
*/

//建立命名空间,用于储存这个插件用到的插件变量和函数
var $spriteTest = $spriteTest || {
   
   };
//将这个插件中的变量放入这个命名空间中
$spriteTest.Parameters = PluginManager.parameters('spriteTest');
//设置构造函数存储参数插件参数(即上面的text参数)
$spriteTest.Param = $spriteTest.Param || {
   
   }

按套路写好插件头,创立命名空间,我这里命名空间只是用来储存text这个插件变量,这样子方便在引擎界面修改,严格来说,插件中自建的函数一般都要放在命名空间的原型链上,不然会出现大量全局函数,我这里出现了一些奇怪的BUG有些函数没放在原型链上,但是我编的其它插件没问题。

6.2.2 复制系统的精灵类,构建专属精灵类

//我们对系统提供的精灵类进行复制,创建一个"mySprites"
function mySprites() {
   
   
    this.initialize.apply(this, arguments);
}
mySprites.prototype = Object.create
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值