0

我想有多个“窗格”或我的游戏窗口的部分。第 1 部分将是跟随玩家的视图。我玩过视图,当然,它们是同一个“房间”的不同视图。我可以使用视图然后用精灵或矩形覆盖视图 2,3 和 4,但似乎应该有一种更有效的方法来做到这一点。

想法或建议?

布局

4

2 回答 2

0

啊,我们在游戏开发的某个阶段都会遇到的问题。如何制作HUD?

这是我的窍门:

  • 例如,创建一个对象,obj_HUD其唯一功能是绘制 HUD
  • 将深度设置为 -100 之类的值,以便将 HUD 绘制在其他所有内容之上
  • 在房间中放置一个实例

让我们首先在create 事件中初始化一些变量:

//CREATE EVENT
depth = -100;
width_pane2 = 150;
height_pane2 = 300;
width_pane3 = 500;
height_pane3 = 120;
width_pane4 = 120;
// Set the above values according to your needs

现在,对于step 事件

//STEP EVENT
x = view_xview;
y = view_yview;  //Just for simplifying the code in draw event

这是您需要添加到draw 事件的代码obj_HUD

//DRAW EVENT
draw_rectangle(x , y , x+width_pane2 , y+height_pane2 , false);
draw_rectangle(x , y+view_hview-height_pane3 , x+width_pane3 , y+view_hview , false);
draw_rectangle(x+view_wview-width_pane4 , y , x+view_wview , y+view_hview , false);

如果您需要使这些透明,请在绘制任何内容之前将 alpha 的值设置为小于 1,然后在绘制完所有内容后将其恢复为 1。

//DRAW EVENT (TRANSPARENT HUD)    
draw_set_alpha(0.6);
draw_set_color(c_black);
draw_rectangle(x , y , x+width_pane2 , y+height_pane2 , false);
draw_rectangle(x , y+view_hview-height_pane3 , x+width_pane3 , y+view_hview , false);
draw_rectangle(x+view_wview-width_pane4 , y , x+view_wview , y+view_hview , false);
draw_set_alpha(1);

那应该可以解决问题!

于 2013-12-05T18:10:33.250 回答
0

如果您使用 Game Maker: Studio

您可以使用 (Draw GUI) 事件,它会在所有内容之上绘制,但按钮可能不会与此

如果您不使用 Game Maker: Studio

视图很可能是您最好的选择。

于 2013-01-12T02:38:03.087 回答