RPGMAKER游戏引擎基于JavaScript的插件制作(八)——可交互对象(2):鼠标指令触发事件 超详细!

上一节我们学习了如何通过键盘的指令来控制精灵,那么这节的内容应该就好理解多了,因为鼠标指令和键盘指令有很多相似之处,而且没有MFC编程中难以理解的句柄概念。
那我们还是按照交互的四个模块分别讨论:
信号约定:设置鼠标点击区域;
信号监测:获得当前鼠标点击状态(左键or右键,按下还是弹起,点击位置);
信号输入;信号响应。


为了帮助大家更好地理解精灵类,这回做得稍微复杂一点,实现真正地按钮效果:鼠标按下时按钮缩小,松开时按钮变大,同时触发一个事件,如下图:

在这里插入图片描述
大家快拿起键盘跟我来


1.创建精灵——绘图的艺术

首先我们找张作为按钮的图,一般网上找到的图都是过大的,并且没有圆形的图(用方形做按钮太丑了吧),所以需要用PS修建一下,不会的自学,像素一般设在50 x 50-150x150为佳,我下面用到的是一个50x50的位图。

因为要精确知道精灵所在位置的像素,来给鼠标设置点击范围,所以这回创建精灵就要有规划而不能盲目了。

/*:
*
* @plugindesc 鼠标控制精灵演示插件
* @
* @author 进入盛夏之门
*
* @param uiPath
* @desc 按钮位图的存放路径
* @default  img/pictures
*
*/
//常规工作——设置命名空间
//当需要管理多个命名空间时,使用作者名缩写+子空间名更加规范
var JRSXZM = JRSXZM || {
   };  
JRSXZM.MouseControl = {
   };
JRSXZM.MouseControl.parameters = PluginManager.parameters('MouseControl');
//以上为常规的工作,可无视
//=======================
//用复制式重写定义一个简单的精灵类
//我们对系统提供的精灵类进行复制,创建一个"myButtonSprites"
function myButtonSprites() {
   
    this.initialize.apply(this, arguments);
}
myButtonSprites.prototype = Object.create(Sprite.prototype);
myButtonSprites.prototype.constructor = myButtonSprites;
myButtonSprites.prototype.initialize = function () {
   
    Sprite.prototype.initialize.call(this);
    this.setFrame(0, 0, 100, 100);
    this.createAll();  // 默认一开始就创建精灵
   
};
//写构造精灵的函数<
  • 17
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值