用Gamemaker做一个类幸存者游戏(1)——开始菜单
物源层垒
编辑于 2024年10月28日 01:26
收录于文集
共6篇

这个项目里有三个房间。

rm_menu 是第一个房间(在房间管理器中的顺序为第一个)且作为游戏的主标题屏幕。

而房间rm_level_1和rm_level_2是游戏中的两个关卡。

在运行游戏后我们能看到这样一个开始界面。

在一张背景图上,出现了游戏的logo,和两个控制游戏进程的按钮。

这一节,我们来了解怎么制作这个开始界面。(因为资产中已经有了,只是演示过程)

一、创建rm_menu

1、在资产浏览器中创建房间,命名为rm_menu

2、在房间的设置里,设置房间的大小。

3、创建精灵spr_menu_background

4、在房间的Background层中,把精灵设置为房间的背景图片

二、创建按钮

按钮对象的用途是触发指定的功能。这里我们需要用按钮对象控制游戏的开始和退出。

由于原代码是拖拽编程,所以这一步开始建议重写事件代码。

当然能你也可以选择转换代码为gml code,直接修改代码文本。

1、创建按钮精灵spr_button,按钮精灵有三个图片,对应这按钮在交互时的三种形状变化。

注意要把帧数设置为0

2、创建按钮的父对象obj_button_parent,制作父对象可以避免重复编写功能相同的代码。

3、添加创建事件,填入需要在按键上显示的文字

4、添加鼠标交互事件,让鼠标在不同状态下显示不同的精灵图片

  • //左键按下事件

  • image_index = 2;

  • //左键放开事件

  • image_index = 1;

  • //鼠标移入事件

  • image_index = 1;

  • //鼠标移出事件

  • image_index = 0;

5、添加声音资产snd_button,让左键按下时发出声音

6、修改左键按下事件,让声音能被触发

  • //左键按下事件

  • audio_play_sound(snd_button, 0, 0, 1.0, undefined, 1.0);

  • image_index = 2;

7、添加绘制事件,让按钮对象能显示存储的文字。

三、开始和结束按钮

1、创建两个空白对象obj_play_button和obj_quit_button

2、给它们添加父对象

3、给它们绑定精灵spr_button

4、修改创建事件,让它们继承父对象的创建事件。并写入新代码,让按钮显示自己的功能。

5、修改obj_play_button的左键放开事件,让游戏能进入下一个房间rm_level_1。

5、修改obj_quit_button的左键放开事件,让游戏进程结束。

四、菜单管理器

1、添加声音资产snd_music_menu,作为背景音乐。

2、创建obj_menu_manager,管理开始界面的功能。

3、添加创建代码,控制菜单界面的背景音乐播放。

4、放置对象,将管理器放置在rm_menu的实例层中。

五、菜单序列

1、在rm_menu的层管理器中,创建序列层

2、创建spr_logo_white和spr_logo,用于显示游戏logo。

3、创建序列seq_menu,在序列中放置游戏按键,声音和logo。

让这些资产在指定的时间点出现或消失。

4、把seq_menu放置在序列层里。

总结:这样我们就实现了开始菜单的创建工作。