设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3403|回复: 11
打印 上一主题 下一主题

[有事请教] 想请教MV里判断鼠标点击的脚本时什么?出BUG了

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2346
在线时间
168 小时
注册时间
2017-4-25
帖子
219
跳转到指定楼层
1
发表于 2019-2-26 13:54:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 rexuegg123 于 2019-3-4 10:53 编辑

如题:判断鼠标点击的脚本是什么 (左键和右键)?



谢谢1楼回复。我主要是想做个鼠标点击事件,效果就像MV游戏里右键的功能差不多,点击触发某事件。

测试代码如下(放在公共事件库里并行处理,10号开关):

if (TouchInput.isTriggered()==true){
  alert(1);
};


测试效果达到预期,但还是出了个BUG:10号开关关闭的时候,在地图上人物正常行走,就是点击一下鼠标,人物到相应位置……但开关打开后,就算鼠标没有点击,相对于人物行走也会处于点击状态,即人物会一直行走,光标移到哪里就自动走到那里即使没有点击。

Lv4.逐梦者

梦石
0
星屑
12157
在线时间
4435 小时
注册时间
2014-4-11
帖子
5955

开拓者

2
发表于 2019-2-26 14:17:23 | 只看该作者
单击
TouchInput.isTriggered()
取消
TouchInput.isCancelled()

重复
TouchInput.isRepeated()

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2346
在线时间
168 小时
注册时间
2017-4-25
帖子
219
3
 楼主| 发表于 2019-2-28 13:51:10 | 只看该作者
yang1zhi 发表于 2019-2-26 14:17
单击
TouchInput.isTriggered()
取消


谢谢回复。我主要是想做个鼠标点击事件,效果就像MV游戏里右键的功能差不多,点击触发某事件。

测试代码如下(放在公共事件库里并行处理,10号开关):

if (TouchInput.isTriggered()==true){
  alert(1);
};


测试效果达到预期,但还是出了个BUG:10号开关关闭的时候,在地图上任务正常行走,就是点击一下鼠标,任务到相应位置……但开关打开后,就算鼠标没有点击,相对与人物行走也会处于点击状态,即人物会一直行走,光标移到哪里就自动走到那里即使没有点击。

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2044
在线时间
758 小时
注册时间
2013-7-3
帖子
127
4
发表于 2019-3-3 18:15:36 | 只看该作者
rexuegg123 发表于 2019-2-28 13:51
谢谢回复。我主要是想做个鼠标点击事件,效果就像MV游戏里右键的功能差不多,点击触发某事件。

测试代码 ...

楼主是不是想说让人物移动到某处吗?
$gameTemp.setDestination(8,10);
//让主角移动到某个位置。
像这样直接指定位置不就可以了
签名什么的?呵呵
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2346
在线时间
168 小时
注册时间
2017-4-25
帖子
219
5
 楼主| 发表于 2019-3-4 10:51:51 | 只看该作者
x水管修理工x 发表于 2019-3-3 18:15
楼主是不是想说让人物移动到某处吗?
$gameTemp.setDestination(8,10);
//让主角移动到某个位置。


不是。根据我贴出的代码:该事件的开关打开,只要我点击鼠标就会弹窗口,即“alert(1);”……这个目的已经达到了。但是同时(该事件的开关打开的状态下),在地图上,鼠标的光标会一直闪烁且人物会一直行走,光标移动人物就跟着移动,即使没有点击鼠标的实际操作。(鼠标似乎一直处于点击状态,但此时并没有弹窗——“alert(1);”)

这个BUG怎么破?

点评

我猜想你可能需要的是图片按钮的功能这个YEP插件MV有自带的  发表于 2019-3-4 12:15
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2346
在线时间
168 小时
注册时间
2017-4-25
帖子
219
6
 楼主| 发表于 2019-3-5 15:19:19 | 只看该作者
x水管修理工x 发表于 2019-3-3 18:15
楼主是不是想说让人物移动到某处吗?
$gameTemp.setDestination(8,10);
//让主角移动到某个位置。

你真是太懂我了,图片公共事件插件我早已经用上了…………不过做一个背包就用了50张图片,还想做仓库、技能什么的,该插件100张得上限根本不够用。

所以才会想到用鼠标点击事件来实现。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2044
在线时间
758 小时
注册时间
2013-7-3
帖子
127
7
发表于 2019-3-6 13:38:52 | 只看该作者
本帖最后由 x水管修理工x 于 2019-3-6 17:26 编辑
rexuegg123 发表于 2019-3-5 15:19
你真是太懂我了,图片公共事件插件我早已经用上了…………不过做一个背包就用了50张图片,还想做仓库、技 ...


那楼主看看我的方法吧
//=禁止行走=
$gameTemp.setDestination($gamePlayer.x+1,$gamePlayer.y);
Scene_Map.prototype.processMapTouch = function() {};
先用这段禁止掉角色的行走
//=恢复行走=
Scene_Map.prototype.processMapTouch = function() {
    if (TouchInput.isTriggered() || this._touchCount > 0) {
        if (TouchInput.isPressed()) {
            if (this._touchCount === 0 || this._touchCount >= 15) {
                var x = $gameMap.canvasToMapX(TouchInput.x);
                var y = $gameMap.canvasToMapY(TouchInput.y);
                $gameTemp.setDestination(x, y);
            }
            this._touchCount++;
        } else {
            this._touchCount = 0;
        }
    }
};
事件结束后再用同样的方法恢复寻路脚本
我一直用的这个方法,百试不爽

点评

这个太棒了,谢谢喽!  发表于 2019-3-7 15:36
签名什么的?呵呵
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2346
在线时间
168 小时
注册时间
2017-4-25
帖子
219
8
 楼主| 发表于 2019-3-27 11:56:33 | 只看该作者
x水管修理工x 发表于 2019-3-6 13:38
那楼主看看我的方法吧
//=禁止行走=
$gameTemp.setDestination($gamePlayer.x+1,$gamePlayer.y);

楼主,恢复行走那段,出错了,跳出找不到函数的提示……
直接用函数里面的内容的话到没跳出错误提示,但没效果……事件结束后无法恢复行走……
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2044
在线时间
758 小时
注册时间
2013-7-3
帖子
127
9
发表于 2019-3-27 14:48:36 | 只看该作者
rexuegg123 发表于 2019-3-27 11:56
楼主,恢复行走那段,出错了,跳出找不到函数的提示……
直接用函数里面的内容的话到没跳出错误提示,但 ...

//=恢复行走=
Scene_Map.prototype.processMapTouch = function() {
    this.updatePictureEvents();
    if (this.allowProcessMapTouch()) {
      Yanfly.PCE.Scene_Map_processMapTouch.call(this);
    }
};
楼上出错的话就用这段恢复行走

点评

这个可以,谢谢了!!!  发表于 2019-3-29 17:22
签名什么的?呵呵
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-8 20:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表