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

Project1

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

[有事请教] 地图精灵顺序的显示问题

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9059
在线时间
1934 小时
注册时间
2016-6-19
帖子
364
跳转到指定楼层
1
发表于 2018-9-28 18:08:48 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
请问有人用过SRD_Hud Maker吗?
这个插件哪里都好,就是它创造的精灵(文本、图片、活动块)会使用单独的层级,结果,不管精灵的层级是多少,它的显示优先级都比图片还高....
我想在众多图片中穿插使用这些精灵,然而目前水平不够,实在看不懂它的排序和刷新方式,希望有大神能给指点一下

SRD_HUDMaker.zip

19.87 KB, 下载次数: 70

Lv4.逐梦者

梦石
0
星屑
9059
在线时间
1934 小时
注册时间
2016-6-19
帖子
364
7
 楼主| 发表于 2018-9-29 11:42:01 | 只看该作者
Fan723 发表于 2018-9-29 08:05
系统里面各图层的显示顺序是这样子的:
Scene_Map.prototype.createDisplayObjects = function() {
    thi ...

嗯,我研究一下。
另外, 将HUD精灵的显示换为createSpriteset,它的层次依然高于所有图片,是什么原因呢?

点评

有一点被我忽略了,这个插件好像是有两套HUD精灵,一套在行动地图上,一套在战斗界面是不是?这插件我以前调试过,但找到更好的没继续用下去。  发表于 2018-9-29 22:53
这个插件的HUD精灵是由createHudUpperLayer创建的,但是它显示在哪一层是由谁在调用它决定的。  发表于 2018-9-29 22:45
检查了一下没有。不过HUD精灵不是用createHudUpperLayer表示的吗,createSpriteset调用的是createHudLowerLayer吧  发表于 2018-9-29 14:07
那我就不太清楚了,有没可能有什么插件修改过createDisplayObjects这个方法?  发表于 2018-9-29 13:33
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19240
在线时间
2303 小时
注册时间
2015-7-4
帖子
937
6
发表于 2018-9-29 08:05:26 | 只看该作者
系统里面各图层的显示顺序是这样子的:
Scene_Map.prototype.createDisplayObjects = function() {
    this.createSpriteset();
    this.createMapNameWindow();
    this.createWindowLayer();
    this.createAllWindows();
};
你要在createWindowLayer之上只能选择createAllWindows了,
要想在显示图片之下就得用createSpriteset。
要不你干脆来个自定义顺序算了。

点评

确实是有两套的,不过战斗那套我完全用不到,所以我把它忽略掉了  发表于 2018-9-29 23:14
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9059
在线时间
1934 小时
注册时间
2016-6-19
帖子
364
5
 楼主| 发表于 2018-9-29 00:13:16 | 只看该作者
Fan723 发表于 2018-9-28 23:45
_.Scene_Map_createMapNameWindow = Scene_Map.prototype.createMapNameWindow;
Scene_Map.prototype.creat ...

改成这个也没有效果:
_.Scene_Map_createSpriteset = Scene_Map.prototype.createSpriteset;
Scene_Map.prototype.createSpriteset = function() {
    _.Scene_Map_createSpriteset.apply(this, arguments);
    this.createHudLowerLayer();
};

我的思路是:菜单HUD精灵→菜单图片→HUD精灵→普通图片→地图及元件等(可忽略)

目前HUD精灵默认覆盖了普通图片,我能做到令菜单图片覆盖HUD精灵(Scene_Base.prototype.createWindowLayer = function()),然而这样,菜单上就不能添加任何HUD了
所以想求图片和HUD精灵互相覆盖的方法
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19240
在线时间
2303 小时
注册时间
2015-7-4
帖子
937
4
发表于 2018-9-28 23:45:02 | 只看该作者
_.Scene_Map_createMapNameWindow = Scene_Map.prototype.createMapNameWindow;
Scene_Map.prototype.createMapNameWindow = function() {
        _.Scene_Map_createMapNameWindow.apply(this, arguments);
        this.createHudLowerLayer();
};
你试试把这段换成:
_Scene_Map_createSpriteset = Scene_Map.prototype.createSpriteset;
Scene_Map.prototype.createSpriteset = function() {
    _Scene_Map_createSpriteset.apply(this, arguments);
    this.createHudLowerLayer();
};

点评

额...所有的HUD精灵都消失了,连F12呼出的HUD编辑器都空了  发表于 2018-9-29 00:02
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9059
在线时间
1934 小时
注册时间
2016-6-19
帖子
364
3
 楼主| 发表于 2018-9-28 21:31:31 | 只看该作者
梦想家大魔王 发表于 2018-9-28 20:27
UI不就是应该显示在最顶层的吗?

我说下想法吧,上次被吐槽不知道想干什么- -
HUDmaker几乎能和其他任何事件并行运行,因此理论上能用来制作即时更新的数据面板、小段动画,甚至是菜单界面。
现在卡在菜单上了,我的菜单是用图片+图片按钮做的,想让菜单的下层、上层都有HUD的精灵,但由于HUD的层级layer已经内定了,pictureID是无效的,因此菜单只能做到覆盖HUD的精灵或被它覆盖。

所以想求一些指点。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7427
在线时间
948 小时
注册时间
2017-9-27
帖子
583
2
发表于 2018-9-28 20:27:11 | 只看该作者
UI不就是应该显示在最顶层的吗?

点评

是的,但添加更多的功能可以让它不止是一个UI啊  发表于 2018-9-28 21:13
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-10 21:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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