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

Project1

 找回密码
 注册会员
搜索

遇敌时,地图上的门元素会闪现消失一下,怎么办?

查看数: 2020 | 评论数: 5 | 收藏 2
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-5-22 16:45

正文摘要:

我用了ulds,遇敌的一瞬间,地图上面的门(事件)会闪现一下,露出来门后面的底, 如果是假门(不能打开)的情况,我可以把门画到地图上来规避这个问题,可是,如果是可以进去的门,就没法子了。 我怀疑是遇敌画面 ...

回复

cenhangkai 发表于 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 塞糖

查看全部评分

xiamumomo 发表于 2022-5-23 16:59:12
ulds是什么=。=

点评

是无限图层,但是我觉得好像和这个没有太大关系。应该是系统的问题。  发表于 2022-5-23 20:37
nhycs01 发表于 2022-5-23 12:34:16
同问该问题,虽然只有一瞬间,但感觉后台的设置被玩家看到了一样,不太舒服

点评

是吧是吧,主角也会闪一下消失,应该是所有的事件都会消失。  发表于 2022-5-23 20:38
cenhangkai 发表于 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 塞糖

查看全部评分

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

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

GMT+8, 2024-11-18 00:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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