IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 【Unity】Jay 开发日志(五)——主菜单的创建 -> 正文阅读

[游戏开发]【Unity】Jay 开发日志(五)——主菜单的创建

写在最前面:Jay 是我花了五天左右时间开发的同名游戏,基础机制借鉴了涂鸦跳跃,具体的参考视频可以点击以下链接

用周杰伦的第一张专辑Jay做了个游戏(祝杰伦118生日快乐)_单机游戏热门视频

这篇日志将记录游戏中如何创建一个简易的主菜单。

(一)创建?Button

1) 首先新建一个场景,命名为 Menu 。在该场景中创建一个 Button,这时引擎会自动添加上 Canvas,Text 和 EventSystem,如图所示:

选中 Button,在 Inspector 中找到 Button 组件,Transition 的选择默认是 Color Tint,在下面可以更改自己想要的不同情况下按钮的颜色,以达到更好的反馈效果。如果有做好的图片素材,可以把 Transition 的选择改成 Sprite Swap,这样就可以为不同的情况添加不同的图片。

2)? 点开 Text,在 Inspector 把默认的 Text 内容改为“开始游戏”,注意一定要是 Text,这里如果用的是 TextMeshPro,是无法直接显示所输入的中文的。然后根据需要选择不同的字体字号等等,如果有字体过大时无法显示的问题,添加组件 Content Size Fitter 组件可以解决。

3)? 为了有更好的呈现效果,这里介绍另一个组件 Shadow 。添加这个组件之后,字体会有影子,看起来更加立体,如图所示。在组件中可以自己调整影子的颜色和位置。

? ? ? ? ?

?4)? 这样一个最基本的 Button 算创建好了。在 Canvas 下创建空物体命名为 MainMenu,把建好的 Button 拖到其下并复制两份,分别命好名更改好有关参数。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ?

这里为了让按钮不管屏幕的尺寸如何变化都能始终出现保持在右上角,我把?MainMenu 的位置修改为下图所示的选项。同时选中 Canvas 组件,把 UI Scale Mode 改成?Scale With Screen Size。

?(二)为 Button 添加事件

1)? 在物体?MainMenu?新建同名脚本 MainMenu,?写入以下代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MainMenu : MonoBehaviour
{
    public GameObject Text;
    public void PlayGame() 
    {
        Text.SetActive(true); //显示文字 “加载中...”
        Application.LoadLevel("SampleScene");  //载入游戏界面
    }

    public void QuitGame()
    {
        Application.Quit();  //退出游戏
    }

}

?这里会提示 "Application.LoadLevel(string)" 已过时,但不要紧,它仍然可以用。在后面的日志中我会另外记录使用 SceneManager 的写法。

由于我的游戏场景加载需要几秒时间,所以我额外创建了一个显示 “加载中” 的 Text。

?2)? 在?PlayButton 的 Button 组件里找到 On Click(),点击加号添加新事件,将整个 MainMenu 物体拖入左下角,然后就可以在右边的下拉列表中找到刚刚定义好的函数 PlayGame。

同理为 QuitButton 也添加对应事件 QuitGame。?

3)??OptionsButton 比较特殊。首先在 Canvas 下创建新的空物体 SettingsMenu ,并在该物体下创建一个新的 Button 命名为 BackButton,然后将?SettingsMenu 物体默认设置为隐藏。接下来为 OptionsButton 添加以下的事件:

?这样点击这个按钮,就会显示 SettingsMenu 并且隐藏 MainMenu。类似地为?BackButton 也添加事件,唯一的不同是这次需要勾选 MainMenu 并取消勾选 SettingMenu。做完后我们就可以通过这两个按钮实现两个 Menu 的来回切换。至于 SettingsMenu 里具体的功能,比如音量调整、分辨率调整等等,这次就不写了,以后有机会再做补充。

(三)? 背景图片?

这个部分较为简单,主要就是调参。在 Canvas 下新建一个 Image,然后再把图片素材拖入 Inspector 中的 Source Image 即可。调整图片的大小和位置,以填满整个 Canvas。更多的参数设置建议参考官方手册中的介绍并且亲自尝试。Unity 用户手册 (2018.4) - Unity 手册

整个的框架就如下图所示,一个简单的主菜单就做好了。

?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:55:16  更:2022-02-01 20:56:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 18:44:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码