【Unity】制作简单的启动、菜单和游戏界面
本文内容
- 制作游戏启动界面:有个滚动条展示载入进度,10秒后滚动条满格切换到主界面;
- 主界面:显示若干个按钮,包括开始游戏、保存游戏、设置等,点击开始游戏进入游戏界面;
- 游戏界面:显示任意三维场景,左上角显示血条,标签显示血量%,右上角显示魔法条,标签显示魔法量%,右下角按钮点击后切换到主界面。
步骤
- 新建场景“0Scene”(启动界面)“Menu”(主界面)“Game”(游戏界面);
- 首先来制作有进度条的场景:打开“0Scene”,在Hierarchy面板新建UI->Canvas,再在Canvas下新建Image和Text,用于显示进度条图片和文字;
- 将一个空白图片拖到Project面板,此时它不能直接拖到Image上,点击该图片,在Inspector面板修改其Texture Type为Sprite(2D and UI),
再将其拖到Image上,选择颜色(即进度条颜色);
- 添加脚本LoadScene,用于显示进度条动画,代码为:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;public class LoadScene : MonoBehaviour
{public Text loadingText;public Image progressBar;private int curProgressValue = 0;void FixedUpdate(){int progressValue = 100;if (curProgressValue < progressValue){curProgressValue++;}loadingText.text = "夏目正在努力加载哦..." + curProgressValue + "%";//实时更新进度百分比的文本显示 progressBar.fillAmount = curProgressValue / 100f;//实时更新滑动进度图片的fillAmount值 if (curProgressValue == 100){loadingText.text = "OK";//文本显示完成OKSceneManager.LoadScene("Menu");}}
}
保存,将其拖到主摄像机(Main Camera)上;
- 为脚本中的loadingText及progressBar赋值:点击Main Camera,LoadingText选择Text,ProgressBar选择Image;
- 为场景添加一个背景:在Hierarchy面板新建3D Object->Quad,把背景图直接拖上去;
- 调整背景图及进度条、文字的位置、大小;
- 点击运行,发现进度条至100%后并没有切换画面,此时,点击File->Build Settings…,将三个个画面添加到Scenes In Build内,再次运行,进度条运行至100%后就切换至Menu,至此,进度条场景制作完成;
- 制作菜单场景:打开Menu,先为其添加背景,方法与之前一样;
- 添加按钮:Hierarchy面板Create->UI->Canvas,在Canvas下新建UI->Button,创建三个按钮,分别命名为Begin,Continue,Set,点击按钮前面的小三角,下拉出现Text,将文字分别改为“开始游戏”“继续游戏”“设置”;
- 添加脚本Begin,使得点击“开始游戏”按钮时跳转到游戏界面,核心代码为:
using UnityEngine.SceneManagement;
public void OnClick(){SceneManager.LoadScene("Game");}
将其拖到Button_Begin上;
- 运行,点击“开始游戏”,并没有切换到Game,那是因为还没有选择点击事件,点击Button_Begin,在Button(Script)组件下有一个On Click(),点击下方加号添加事件,Object选择Button_Begin,Fuction选择OnClick(),有时找不到这个函数,是因为脚本中这个函数前少了public,
再次运行,点击“开始游戏”,场景切换到Game; - 给这个场景添加一段说明文字:新建Canvas,再在Canvas下新建Text,修改其属性即可,这样菜单界面也制作完成;
- 打开Game,先建一个三维场景,添加2个Quad和1个Plane,调整他们的位置;
- 给墙壁和地板添加颜色:在Project面板新建Material,选择颜色,然后拖到Quad和Plane上即可;
- 添加角色:新建一个空物体,把角色的png格式图片拖到其上,发现并不能直接放上去,点开空物体,添加组建Mesh->Mesh Filter,Mesh选择Quad,再添加Mesh->Mesh Renderer,新建一个Material,Albedo选择角色图片,同时上方Shader选择Sprites->Default,
然后为Mesh Renderer组建中Element0选择该Material; - 添加血条:新建Canvas、Slider,展开Slider,删去Handle Slide Area,Fill Area的Left和Right值都改为0,展开Fill Area,Fill的Color选择红色,然后调整Slider的位置,接着给血条添加表示血量的文字:在同一Canvas下添加Text;
- 新建脚本SliderHPChange,用于初始化和实时更新血量,
public Slider HPStrip;
public Text HPText; //显示血量
void Start(){HPStrip.value = 0; //初始化血条}void Update(){HPText.text = "HP:" + HPStrip.value + "%";}
将其拖到Slider上,Slider和Text分别选择刚才设置的Slider和Text;
- 以同样的方法再建一个Slider,Fill的Color为蓝色,作为魔法条,魔法值自动回升的函数:
void FixedUpdate(){MPStrip.value++;}
- 添加按钮,用于使血量回升,添加脚本,核心代码为:
public SliderHPChange ChangeHP1;
public void OnClick(){ChangeHP1.HPStrip.value += Random.Range(3, 7);}
将其拖到按钮上,再添加点击事件;
- 以同样的方法再建两个按钮,可以修改Random.Range(3,7)内整数的值来为不同的按钮设定不同的血量增长值;
- 再添加返回主菜单的按钮,脚本的核心代码为:
public void OnClick(){SceneManager.LoadScene("Menu");}
至此游戏界面也制作完成;
【Unity】制作简单的启动、菜单和游戏界面相关推荐
- php简单网页制作代码,用HTML和CSS以及JS制作简单的网页菜单界面的代码
这篇文章主要介绍了使用HTML+CSS+JS制作简单的网页菜单界面,这个ABROAD项目所使用的JavaScript部分代码非常简单,需要的朋友可以参考下 写ABROAD项目用到了标签这个东东,其实标 ...
- Unity 制作简单的任务动画
Unity 制作简单的任务动画 1.添加人物模型到unity 我使用的是unity store中的免费模型: https://assetstore.unity.com/packages/3d/char ...
- unity ui框架_用unity制作简单的太空游戏(2)-简单炮台
多铆蒸刚,炮塔至大! 亿万星辰,亿万炮塔! 多铆蒸刚,炮塔至上! 亿万炮塔,亿万荣光! (PS:我没有咕咕咕,就是比较惨,一口气出了半个月的差,人瘦了,也黑了,心塞塞--赶紧写个文章压压惊--) 这一 ...
- u盘维护工具 linux,【制作简单,启动兼容性好的U盘维护工具:DOS工具+WINPE+PUPPY LINUX】...
这款U盘启动工具盘是本人使用syslinux启动工具,选用其他人出的工具盘映像文件制作而成,已使用三年多了,兼容性非常好,目前还没有遇到不能启动的机器,感兴趣的朋友可以试用一下. 启动信息由sysli ...
- 用unity制作简单的太空游戏(1):简单飞船控制
最近沉迷<Dreadnought>(中文名:无畏战舰,B站CG链接),回想起作为十余年EVE老油条的太空生涯,又萌生了做个太空游戏的情怀,所以这一次就讲讲怎么做个简单的太空飞船的小游戏好了 ...
- Unity制作简单拦截近防炮——如何预测打击目标
突然想尝试一下在Unity中模拟近防炮(拦截炮),该拦截跑应该发射物理子弹并并命中处在运动中的物体,所以在代码中至少应考虑: 子弹发射矢量速度vb(暂不考虑风阻) 目标距离 L 目标当前矢量速度 v ...
- unity制作简单的植物大战僵尸
文章目录 介绍 掉落阳光 卡片恢复透明度 拖拽卡片到方格子上生成植物 僵尸生成器 子弹对象池 源码 介绍 简单制作植物大战僵尸游戏. 协程实现各种相机动画 卡片填充方式修改为:"已填充&qu ...
- js怎么制作html的主题,用HTML和CSS以及JS制作简单的网页菜单界面的代码
写ABROAD项目用到了标签这个东东,其实标签在WEB上到处可见,图中就依次显示了DCC文章发布器.ABROAD后台添加数据.百度图片搜索.sf发布博客文章时贴标签的样式--标签就像浏览器里原生的ch ...
- Unity制作简单的精灵图动画(新手向)
使用精灵图制作动画步骤: 1.精灵图准备 2.制作动画 一.精灵图导入与切割 第一种情况:导入的是已经切割好的精灵图,请直接跳动到二 第二种情况:导入的是需要切割的精灵图,需要切割,切割步骤: 1按照 ...
最新文章
- Eclipse JDBC SQLServer2008 R2
- 985博士《深度学习》手推公式笔记开源PDF下载!
- 递归时间/空间复杂度的分析(斐波那契为例)
- pytorch——torch.backends.cudnn.benchmark = True
- 在Java中避免空检查
- python3 x默认使用的编码_python3默认使用什么编码
- linux:vim中全选复制
- DDD+分布式+负载均衡+服务治理已撸!微服务架构不就这点事?
- Python编程教程:面向对象之高级特性!
- html加载swf 进度条,Flash加载外部文件创建进度条3种方法
- 从高级程序员的角度来看,Rust 基础知识
- 新基建东风下,开发者这样抓住工业互联网风口!
- Echarts横向的柱状图
- CAN(FD)收发器选型及替换指南(一)
- Python暴力破解wifi密码
- mysql 自动化运维开发_Python自动化运维开发----基础(十三)Mysql数据库基础
- 「Photoshop2021入门教程」新功能——快速操作
- 补肾健脑的中药有哪些?
- Android 实现仿微信朋友圈全文、收起的功能
- 约8937亿元:台积电创下台湾企业市值最高纪录