Gamemaker Studio2,绘制GUI层冲突

问题描述

我想先说我对 gameMakerstudio 还是很陌生,我不知道有关该软件如何工作的所有信息,这可能是我问题的根本原因,因为我不知道为什么我我有这个当前的分层问题。

我遇到了一个问题,我在同一个房间内的不同对象中有两个 DrawGUI 事件。

一个对象是战争迷雾,它绘制 GUI 并在玩家移动时显示地图,并使已探索的地点可见但不可见。

第二个对象是操纵杆,玩家可以用拇指拖动操纵杆来移动玩家。

自从我实施了战争迷雾。我一直无法查看操纵杆。似乎战争迷雾笼罩在它上面,我无法使用它。

我知道还有其他抽奖活动可以做到这一点。

画画 绘制图形用户界面 抽奖开始 绘制结束 绘制 GUI BEGIN 绘制图形界面结束

更改代码绘制位置后。 例子:一开始摇杆和雾都在Draw GUI里,把一个从Draw GUI移到Draw GUI Begin后,出现同样的问题。

我已经确保将操纵杆放在房间的最顶层,将战争迷雾放在最底层。

我试图应用深度对象

oJoystick_Stick.depth = -100;

这没有任何效果

是否有另一种方法可以强制 GUI 层上的两个对象位于另一个之上?

解决方法

据我所知,DrawGUI 总是优先考虑在 Draw 中绘制的对象,包括开始绘制和结束绘制,因为它是一个界面(你看到的关于你的角色的统计数据,如健康、弹药等),而不是一部分房间本身。您可能还注意到,在 DrawGui 中绘制的对象也跟随相机/视点。

之后,房间内的depth变量和层有优先权,每一层也给了一个深度值,间隔为100。

如果 depth 也相同(例如当它们在同一层时),则对象和代码加载的顺序决定绘制的顺序。

然而我自己没有使用过战争迷雾系统,所以我不知道它是否是内置的,但我不建议将它们放在 DrawGUI 中,因为它应该为界面保留布局。使用默认的绘图选项,您将可以更多地访问房间内的图层。

,

关于 DrawGUI 的一些建议

  • DrawGUI 开始 --> 在那一刻在每个 drawGUI 之前调用事件
  • DrawGUI --------> 事件被称为与屏幕刷新率同步
  • DrawGUI End ----> 在那一刻每个 drawGUI 之后调用事件

所以用于 DrawGUI 的 GM-Studio“管道”就像 step 事件,我们有一个 BEGIN、一个 CURRENT 和一个 END。

为了确定对象渲染的优先级,GM-Studio 使用了深度内置变量。以0为参考值。深度值 > 0 的对象作为最后渲染。深度值

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...