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

Project1

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

[有事请教] 如何创建一个常驻窗口,使得其在不同的Scene中都存在?

[复制链接]

Lv2.观梦者

梦石
0
星屑
511
在线时间
50 小时
注册时间
2009-7-1
帖子
87
跳转到指定楼层
1
发表于 2018-5-4 14:52:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
如何创建一个常驻窗口,使得其在不同的Scene中都存在?

在MV里面,地图、菜单以及战斗界面被分作多个不同场景(Scene),场景的切回会使得窗口全部重新绘制。

现在我想做一个常驻的,显示角色各个属性的窗口,它在地图、菜单、战斗界面都会显示,请问应该把这个窗口创建在哪?

有考虑过每个场景都添加一个一样的窗口,但是这样会使得每次场景切换都要全部重新绘制一遍,造成不必要的卡顿。

Lv4.逐梦者

梦石
0
星屑
7427
在线时间
948 小时
注册时间
2017-9-27
帖子
583
2
发表于 2018-5-4 16:29:58 | 只看该作者
那你应该在每种Scene中都创建一个该窗口实例。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
511
在线时间
50 小时
注册时间
2009-7-1
帖子
87
3
 楼主| 发表于 2018-5-4 17:00:07 | 只看该作者
梦想家大魔王 发表于 2018-5-4 16:29
那你应该在每种Scene中都创建一个该窗口实例。

这样子每次切换Scene都要重新绘制一遍窗口,感觉是没有必要的浪费。没办法一个实例多个Scene用吗?

点评

MV就是这么设计的,Scene是窗口的容器,窗口不能脱离Scene而独立存在。  发表于 2018-5-4 17:32
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33679
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

4
发表于 2018-5-4 18:59:35 | 只看该作者
可以在 SceneManager 初始化的时候就加一个额外的 Scene 专门显示你的窗口。
但要注意在正常场景切换的时候,会挡住这个额外场景。
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
19566
在线时间
2341 小时
注册时间
2015-7-4
帖子
940
5
发表于 2018-5-4 23:41:31 | 只看该作者
就像道具菜单里面的道具说明窗口,在技能菜单、装备菜单、商店菜单里面等很多地方都有调用,是不是比较符合你的思路?可以参考一下。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4094
在线时间
441 小时
注册时间
2015-4-4
帖子
156
6
发表于 2018-5-5 04:10:27 | 只看该作者
Scene是书页,窗口是文字
并没有在书上挖洞这种操作
回复 支持 反对

使用道具 举报

Lv4.逐梦者

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

开拓者

7
发表于 2018-5-5 08:04:09 | 只看该作者
可以这样搞
只用一个Scene
但是那些装备拉,状态拉,这些界面都不用再开Scene
直接在当前Scene操作。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3424
在线时间
461 小时
注册时间
2013-12-7
帖子
333
8
发表于 2018-5-5 10:29:36 | 只看该作者
每个场景都添加一个一样的窗口,但是这样会使得每次场景切换都要全部重新绘制一遍,造成不必要的卡顿。

首先这个观点有瑕疵,不是说你使用同一个窗口就不会重新绘制了,Canvas是每帧重绘,你可以想象一下如果不是这样,当你的角色掉血的时候,画面该如何监听我们的refresh方法?
所以四楼虽然给出了一个可行方法,即创建一个新的Scene(Stage)来放置窗口,但这是一个不可取的方法。反正都要重新绘制,为什么我要浪费一份资源多创建一个Stage?更好的做法是像MV一样把同一个窗口对象添加到不同的场景中去。
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
511
在线时间
50 小时
注册时间
2009-7-1
帖子
87
9
 楼主| 发表于 2018-5-8 09:36:28 | 只看该作者
ekmomo 发表于 2018-5-5 10:29
首先这个观点有瑕疵,不是说你使用同一个窗口就不会重新绘制了,Canvas是每帧重绘,你可以想象一下如果不 ...

明白了。但是好奇怪,我这边做了一套窗口平移出场的动画,但是在场景切换的时候,前半段就不是特别顺滑,会有个明显卡顿。是否有什么写法,可以等窗口全部加载好了再开始动画,或者用某些技巧减少卡顿感?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
511
在线时间
50 小时
注册时间
2009-7-1
帖子
87
10
 楼主| 发表于 2018-5-8 09:37:58 | 只看该作者
谢谢楼上的各位!这样解释一下我好像清楚多了。看来只能想办法缓解窗口首次加载出现的卡顿问题了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-10 07:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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