场景跳转



  • 在前一个场景我设置了一个精灵显隐,跳转后在场景开始时设置显隐会停顿一下。我设计了一些仅出发一次中带有0.5等待。如果让这个显隐设置和初始设置在同一级别。

    这是后一个场景我设置它显隐undefined
    这我前面的场景设置显隐
    undefined
    我这里有个仅一次触发,它居然在显示“武器栏”之前就生成了,也就是优先级在前或者同一水平线上加载更快
    undefined
    我现在想要开场完成显隐设置,



  • @maker发 没看懂你想要做的事……
    “武器栏”对象是全局对象?不是全局对象的话,跳转场景前设置为显示好像没啥意义啊,是有“保持状态”能力?
    完全相同的触发器条件同时满足时,有从上到下的执行顺序,但是不同的触发器条件之间有没有这种依据我没试过,不太清楚事件顺序有没有影响。然后你这个“在显示武器栏之前就生成了”的判定依据只从这几个图也看不出来啊,你是依据什么现象看出来的🤔



  • 1.武器栏是全局变量
    2.是这样的先在a场景拖拽了精灵上去,及有个初始精灵在上面
    现在转到b,再转到c,因为c场景不需要这个精灵,我把精灵设置成隐形,从c场景跳转到a场景时,由于精灵是隐形的要把设置为显示,会在当场景开始时回复。预览的时候这个地方会慢零点几秒出现。
    我猜测有可能是优先级的问题,这说的优先级不是同事件中上下的优先级而是想场景开始时这种回合优先级,例如抽卡阶段,和出牌阶段这种。但又奇怪我下面那个仅触发一次的生成图形又在这个精灵出现前面就出现了。所以当场景开始时和这个满足条件的仅触发一次是同优先级的,那么我就想会不会是运行速度的问题,但感觉也不像,预览时这个cpu都每怎么跳。
    3.这个慢零点几秒我考虑到我的一些其他的初始化设计中有0.5秒等待这种(这里是因为我像做初始动画需要),就搜索了武器栏发现也有什么设计停顿的。
    4.我想的就是画面直接出现的效果,现在是有固定的停顿出现。



  • @maker发 全局对象和全局变量差远了,我没见过长这样的全局变量,我就当你是打错字按全局对象来理解吧。
    全局对象的话跟场景跳转就会有一些关系了,唤境的场景本质上并不是多个的,其实是只有一个的,场景跳转的原理是把当前场景的所有非全局对象的实例销毁,然后按新场景的初始舞台配置生成一遍实例构造出新场景的模样。由上可知,全局对象不会随着场景跳转销毁,也就是全局对象的实例会跟着保留到新场景的同一图层组,那么会有两个问题:
    1、新场景的实例跟它的关系是怎么样?
    2、新场景中如果图层组数量跟跳转前场景的图层组数量不一致(也就是全局对象的实例在新场景中找不到图层组时),会发生什么事?
    第一点,就像一开始说到的,跳转场景后,实际上是按新场景的初始舞台配置重新生成一遍实例的,所以全局对象的实例由于没被销毁,自然会被新场景中同一层图层组的新创建的初始实例(不是指事件创建的实例,而是该场景的初始舞台实例)盖住。所以到新场景后,跳转前场景的全局对象的实例往往会在新场景中同一图层组的最底下。
    第二点,跳转前场景的全局对象的实例到了新场景后,如果所在的图层组新场景中没有(注意,不是按图层组名来查找的,是按图层组序号来查找的,按图层组从下到上的顺序为序号),假设全局对象A的实例在跳转前场景的图层组是从下往上数第3个,而新场景中只有两个图层组,那么这个实例就会往下“掉”,直到找到相应的图层组为止,也就是说这个例子中的实例会掉到第二个图层组。这个时候再跳转回之前的场景,就不是在原始的第三个图层组,而是在第二个图层组了。
    虽然还是没太看懂你具体要做什么,但在了解了以上两点的基础上去定位是有事件问题还是有场景跳转的机制在影响比较好一点,只看你的一些描述应该也有其他事件在干扰之类的才对。老实说我们其他坛友并不太了解你的项目情况,所以你描述的内容不够具体的话,也只能往一个大致方向瞎猜。



  • undefined
    undefined

    您说的很对,我确实有个初始化改变图层的一些操作,应该是这里出了问题。
    我已经把所有的场景都设置了相同的数量的图层,解决了这个问题。



  • @maker发 恭喜,能解决就好👍


Log in to reply