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

Project1

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

[有事请教] 关于RPGMV中如何停止玩家在地图上移动但是不影响其他交互

[复制链接]

Lv2.观梦者

梦石
0
星屑
811
在线时间
117 小时
注册时间
2018-8-25
帖子
95
跳转到指定楼层
1
发表于 2023-4-17 23:42:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
100星屑
试过YEP的插件限制移动结果无法跟事件交互解除限制,把移动速度调成0也只是把速度变慢了并不是不移动,有没有其他插件或者脚本限制玩家移动

最佳答案

查看完整内容

用 输入设备核心 插件

Lv5.捕梦者

梦石
0
星屑
32036
在线时间
276 小时
注册时间
2018-7-27
帖子
341
2
发表于 2023-4-17 23:42:22 | 只看该作者
用 输入设备核心 插件
量子妹: 只要你愿意开始,什么时候出发都不晚。
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5297
在线时间
724 小时
注册时间
2022-11-26
帖子
323
3
发表于 2023-4-18 00:05:16 | 只看该作者
你这个停止移动后的其他交互是指啥
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1896
在线时间
603 小时
注册时间
2022-7-5
帖子
108
4
发表于 2023-4-18 00:28:09 | 只看该作者
的确,YEP那个限制移动插件会影响交互,但是插件本身根本没提到。之前我做一个走格子的小游戏,也不允许玩家移动,只能看点数来走动,也遇到同样的问题。

我想了一个“模拟”的办法。因为我的情况是玩家必须在指定的位置才能触发这个需要,所以在那个位置建了一个初始状态是透明的事件。触发的时候,让玩家透明化并且瞬移到无法动弹的地形里面卡着,同时事件切换到图像和玩家一模一样的状态,完成‘“狸猫换太子”。因为事件本身就有固定属性,不需要再限制,玩家以为操作的还是角色,其实是外表一样的事件。需要解除状态的时候,检测事件当前的坐标,再把那个卡住的透明玩家瞬移回来,解除透明,然后把事件透明化,完成再次互换。

因为不知道你限制移动是为了实现什么效果,所以我只是说说我自己的经历。我也跟着蹲一下看有没有大佬提供更好的插件或者方案
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4362
在线时间
550 小时
注册时间
2018-11-12
帖子
114
5
发表于 2023-4-18 06:08:32 | 只看该作者
  1. //请输入开关ID,用来控制玩家是否禁止动弹
  2. var KGid = 1;


  3. //玩家禁止动弹时,玩家无法动弹
  4. var _JDGame_Player_updateMove = Game_Player.prototype.updateMove;
  5. Game_Player.prototype.updateMove = function() {
  6.         if ($gameSwitches.value(KGid)) this.setPosition(this._realX,this._realY);
  7.         _JDGame_Player_updateMove.call(this);
  8. };

  9. //玩家禁止动弹时,玩家无法转向(不需要就删除这一整段代码)
  10. var _JDGame_Player_setDirection = Game_Player.prototype.setDirection;
  11. Game_Player.prototype.setDirection = function(d) {
  12.         if ($gameSwitches.value(KGid)) return;
  13.         _JDGame_Player_setDirection.call(this,d);
  14. };

  15. //玩家禁止动弹时,无法主动接触事件触发(不需要就删除这一整段代码)
  16. var _JDGame_Event_start = Game_Event.prototype.start;
  17. Game_Event.prototype.start = function() {
  18.         if ($gameSwitches.value(KGid)) return;
  19.         _JDGame_Event_start.call(this);
  20. };

  21. //玩家禁止动弹时,无法打开菜单(不需要就删除这一整段代码)
  22. var _JDScene_Map_isMenuEnabled = Scene_Map.prototype.isMenuEnabled;
  23. Scene_Map.prototype.isMenuEnabled = function() {
  24.         return _JDScene_Map_isMenuEnabled.call(this) && !$gameSwitches.value(KGid);
  25. };
复制代码


【使用说明】
·将上述代码复制粘贴至任意插件最下面;
·开关ID请自定义,默认就是1号开关,用来控制禁止动弹;
·不需要的功能可以自行删除对应代码。

————————
????????随手写的,希望对楼主有所帮助。
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
466
在线时间
47 小时
注册时间
2021-5-12
帖子
36
6
发表于 2023-4-18 09:10:27 | 只看该作者
水水更健康。
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
811
在线时间
117 小时
注册时间
2018-8-25
帖子
95
7
 楼主| 发表于 2023-4-18 15:05:23 | 只看该作者
cenhangkai 发表于 2023-4-18 06:08
【使用说明】
·将上述代码复制粘贴至任意插件最下面;
·开关ID请自定义,默认就是1号开关,用来控制禁 ...

没生效呢,还是能动
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
811
在线时间
117 小时
注册时间
2018-8-25
帖子
95
8
 楼主| 发表于 2023-4-18 15:29:20 | 只看该作者
bleen 发表于 2023-4-18 00:28
的确,YEP那个限制移动插件会影响交互,但是插件本身根本没提到。之前我做一个走格子的小游戏,也不允许玩 ...

我也是做这种点数移动的功能,类似英雄无敌那种
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4362
在线时间
550 小时
注册时间
2018-11-12
帖子
114
9
发表于 2023-4-18 16:54:48 | 只看该作者
2669483303 发表于 2023-4-18 15:05
没生效呢,还是能动

没弄开关?我这能禁
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
811
在线时间
117 小时
注册时间
2018-8-25
帖子
95
10
 楼主| 发表于 2023-4-18 18:24:57 | 只看该作者
cenhangkai 发表于 2023-4-18 16:54
没弄开关?我这能禁

忘了开关了,仔细看了下,这串代码应该是用开关判定然后把玩家位置刷新在原位表现出不移动的形式,因为虽然位置没动,但是我设计的移动点数还是在消耗
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 13:57

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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