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

Project1

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

[有事请教] 遇敌时,地图上的门元素会闪现消失一下,怎么办?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
5291
在线时间
579 小时
注册时间
2020-2-20
帖子
222
跳转到指定楼层
1
发表于 2022-5-22 16:45:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
20星屑
我用了ulds,遇敌的一瞬间,地图上面的门(事件)会闪现一下,露出来门后面的底,
如果是假门(不能打开)的情况,我可以把门画到地图上来规避这个问题,可是,如果是可以进去的门,就没法子了。

我怀疑是遇敌画面时的那个图的暂存方式和右键进入菜单的那个底图的暂存方式不太一样导致的……后者可以很好的包括地图上的事件元素而前者不行。

so,有什么好的办法吗?

最佳答案

查看完整内容

· 【代码使用】将上述代码拷贝粘贴到随意一个插件的最下面,或单独新建一个插件。 · 【使用办法】在事件当前页面注释: · 【使用效果】触发战斗的时候,注释的事件不会被隐藏。 · 【注意事项】仅注释的事件页面生效,比如注释在第一页的话,事件变成第二页时不生效。

Lv3.寻梦者

梦石
0
星屑
4271
在线时间
542 小时
注册时间
2018-11-12
帖子
113
2
发表于 2022-5-22 16:45:26 | 只看该作者
  1. Spriteset_Map.prototype.hideCharacters = function() {
  2.     for (var i = 0; i < this._characterSprites.length; i++) {
  3.         var sprite = this._characterSprites[i];
  4.                 //如果是地图中的事件(非角色)
  5.                 var kg = false;
  6.                 if (sprite._character.event) {
  7.                   var list = sprite._character.page().list;
  8.           var max = list.length;
  9.           var comment = '';
  10.                   //获取事件所有注释
  11.           for (var j = 0; j < max; ++j) {
  12.             var ev = list[j];
  13.             if ([108, 408].contains(ev.code)) comment += ev.parameters[0] + '\n';
  14.           }
  15.                   //提取注释进行辨别
  16.                   for (var b = 0; b < comment.split(/[\r\n]+/).length; ++b) {
  17.                         var line = comment.split(/[\r\n]+/)[b];
  18.                         if (line && line.match('触发战斗时不隐藏')) kg = true;
  19.                   }
  20.                 };//
  21.         if (!sprite.isTile() && !kg) {
  22.             sprite.hide();
  23.         }
  24.     }
  25. };
复制代码


· 【代码使用】将上述代码拷贝粘贴到随意一个插件的最下面,或单独新建一个插件。
· 【使用办法】在事件当前页面注释:<触发战斗时不隐藏>
· 【使用效果】触发战斗的时候,注释的事件不会被隐藏。
· 【注意事项】仅注释的事件页面生效,比如注释在第一页的话,事件变成第二页时不生效。

点评

真的厉害!!  发表于 2022-5-27 21:56

评分

参与人数 2+2 收起 理由
nie89 + 1 塞糖
入坑小萌新 + 1 塞糖

查看全部评分

回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4547
在线时间
679 小时
注册时间
2013-1-18
帖子
709
3
发表于 2022-5-23 12:34:16 | 只看该作者
同问该问题,虽然只有一瞬间,但感觉后台的设置被玩家看到了一样,不太舒服

点评

是吧是吧,主角也会闪一下消失,应该是所有的事件都会消失。  发表于 2022-5-23 20:38
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9319
在线时间
1841 小时
注册时间
2020-1-2
帖子
1082
4
发表于 2022-5-23 16:59:12 | 只看该作者
ulds是什么=。=

点评

是无限图层,但是我觉得好像和这个没有太大关系。应该是系统的问题。  发表于 2022-5-23 20:37
回复

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5291
在线时间
579 小时
注册时间
2020-2-20
帖子
222
5
 楼主| 发表于 2022-9-29 23:36:34 | 只看该作者
时隔半年的反馈,用了插件之后,如果地图上有剧情流程的事件,会导致一个报错。

独立的仅遇敌场景不会发生报错。

我又研究了一下,发现门会闪烁隐藏的原因是因为他是可以被打开的,所以在开启战斗的一瞬间,他会消失掉,而我如果单独放一个事件门,并让他不能被打开,且固定朝向勾打开的话,遇敌时,门就不会消失。
于是……痛定思痛之下,我选择的忍受地图上会消失的事件。

但依旧万分感谢大佬的插件支持!
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4271
在线时间
542 小时
注册时间
2018-11-12
帖子
113
6
发表于 2022-10-4 15:58:07 | 只看该作者
本帖最后由 cenhangkai 于 2022-10-4 15:59 编辑
nie89 发表于 2022-9-29 23:36
时隔半年的反馈,用了插件之后,如果地图上有剧情流程的事件,会导致一个报错。

独立的仅遇敌场景 ...


谢邀,人在论坛刚下飞机。半年前随手写的代码确实有一个很严重的BUG,如果地图上
有空白的事件,会导致报错,下面是修正后的:

JAVASCRIPT 代码复制
  1. Spriteset_Map.prototype.hideCharacters = function() {
  2.     for (var i = 0; i < this._characterSprites.length; i++) {
  3.         var sprite = this._characterSprites[i];
  4.                 //如果是地图中的事件(非角色)
  5.                 var kg = false;
  6.                 if (sprite._character.event && sprite._character.page()) {
  7.                   var list = sprite._character.page().list;
  8.           var max = list.length;
  9.           var comment = '';
  10.                   //获取事件所有注释
  11.           for (var j = 0; j < max; ++j) {
  12.             var ev = list[j];
  13.             if ([108, 408].contains(ev.code)) comment += ev.parameters[0] + '\n';
  14.           }
  15.                   //提取注释进行辨别
  16.                   for (var b = 0; b < comment.split(/[\r\n]+/).length; ++b) {
  17.                         var line = comment.split(/[\r\n]+/)[b];
  18.                         if (line && line.match('触发战斗时不隐藏')) kg = true;
  19.                   }
  20.                 };//
  21.         if (!sprite.isTile() && !kg) {
  22.             sprite.hide();
  23.         }
  24.     }
  25. };

评分

参与人数 1+1 收起 理由
nie89 + 1 塞糖

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-13 17:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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