本文内容

  1. 制作游戏启动界面:有个滚动条展示载入进度,10秒后滚动条满格切换到主界面;
  2. 主界面:显示若干个按钮,包括开始游戏、保存游戏、设置等,点击开始游戏进入游戏界面;
  3. 游戏界面:显示任意三维场景,左上角显示血条,标签显示血量%,右上角显示魔法条,标签显示魔法量%,右下角按钮点击后切换到主界面。

步骤

  1. 新建场景“0Scene”(启动界面)“Menu”(主界面)“Game”(游戏界面);
  2. 首先来制作有进度条的场景:打开“0Scene”,在Hierarchy面板新建UI->Canvas,再在Canvas下新建Image和Text,用于显示进度条图片和文字;
  3. 将一个空白图片拖到Project面板,此时它不能直接拖到Image上,点击该图片,在Inspector面板修改其Texture Type为Sprite(2D and UI),

    再将其拖到Image上,选择颜色(即进度条颜色);
  4. 添加脚本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)上;

  1. 为脚本中的loadingText及progressBar赋值:点击Main Camera,LoadingText选择Text,ProgressBar选择Image;
  2. 为场景添加一个背景:在Hierarchy面板新建3D Object->Quad,把背景图直接拖上去;
  3. 调整背景图及进度条、文字的位置、大小;
  4. 点击运行,发现进度条至100%后并没有切换画面,此时,点击File->Build Settings…,将三个个画面添加到Scenes In Build内,再次运行,进度条运行至100%后就切换至Menu,至此,进度条场景制作完成;
  5. 制作菜单场景:打开Menu,先为其添加背景,方法与之前一样;
  6. 添加按钮:Hierarchy面板Create->UI->Canvas,在Canvas下新建UI->Button,创建三个按钮,分别命名为Begin,Continue,Set,点击按钮前面的小三角,下拉出现Text,将文字分别改为“开始游戏”“继续游戏”“设置”;
  7. 添加脚本Begin,使得点击“开始游戏”按钮时跳转到游戏界面,核心代码为:
using UnityEngine.SceneManagement;
public void OnClick(){SceneManager.LoadScene("Game");}

将其拖到Button_Begin上;

  1. 运行,点击“开始游戏”,并没有切换到Game,那是因为还没有选择点击事件,点击Button_Begin,在Button(Script)组件下有一个On Click(),点击下方加号添加事件,Object选择Button_Begin,Fuction选择OnClick(),有时找不到这个函数,是因为脚本中这个函数前少了public,

    再次运行,点击“开始游戏”,场景切换到Game;
  2. 给这个场景添加一段说明文字:新建Canvas,再在Canvas下新建Text,修改其属性即可,这样菜单界面也制作完成;
  3. 打开Game,先建一个三维场景,添加2个Quad和1个Plane,调整他们的位置;
  4. 给墙壁和地板添加颜色:在Project面板新建Material,选择颜色,然后拖到Quad和Plane上即可;
  5. 添加角色:新建一个空物体,把角色的png格式图片拖到其上,发现并不能直接放上去,点开空物体,添加组建Mesh->Mesh Filter,Mesh选择Quad,再添加Mesh->Mesh Renderer,新建一个Material,Albedo选择角色图片,同时上方Shader选择Sprites->Default,

    然后为Mesh Renderer组建中Element0选择该Material;
  6. 添加血条:新建Canvas、Slider,展开Slider,删去Handle Slide Area,Fill Area的Left和Right值都改为0,展开Fill Area,Fill的Color选择红色,然后调整Slider的位置,接着给血条添加表示血量的文字:在同一Canvas下添加Text;
  7. 新建脚本SliderHPChange,用于初始化和实时更新血量,
public Slider HPStrip;
public Text HPText;    //显示血量
void Start(){HPStrip.value = 0;    //初始化血条}void Update(){HPText.text = "HP:" + HPStrip.value + "%";}

将其拖到Slider上,Slider和Text分别选择刚才设置的Slider和Text;

  1. 以同样的方法再建一个Slider,Fill的Color为蓝色,作为魔法条,魔法值自动回升的函数:
void FixedUpdate(){MPStrip.value++;}
  1. 添加按钮,用于使血量回升,添加脚本,核心代码为:
public SliderHPChange ChangeHP1;
public void OnClick(){ChangeHP1.HPStrip.value += Random.Range(3, 7);}

将其拖到按钮上,再添加点击事件;

  1. 以同样的方法再建两个按钮,可以修改Random.Range(3,7)内整数的值来为不同的按钮设定不同的血量增长值;
  2. 再添加返回主菜单的按钮,脚本的核心代码为:
public void OnClick(){SceneManager.LoadScene("Menu");}

至此游戏界面也制作完成;

【Unity】制作简单的启动、菜单和游戏界面相关推荐

  1. php简单网页制作代码,用HTML和CSS以及JS制作简单的网页菜单界面的代码

    这篇文章主要介绍了使用HTML+CSS+JS制作简单的网页菜单界面,这个ABROAD项目所使用的JavaScript部分代码非常简单,需要的朋友可以参考下 写ABROAD项目用到了标签这个东东,其实标 ...

  2. Unity 制作简单的任务动画

    Unity 制作简单的任务动画 1.添加人物模型到unity 我使用的是unity store中的免费模型: https://assetstore.unity.com/packages/3d/char ...

  3. unity ui框架_用unity制作简单的太空游戏(2)-简单炮台

    多铆蒸刚,炮塔至大! 亿万星辰,亿万炮塔! 多铆蒸刚,炮塔至上! 亿万炮塔,亿万荣光! (PS:我没有咕咕咕,就是比较惨,一口气出了半个月的差,人瘦了,也黑了,心塞塞--赶紧写个文章压压惊--) 这一 ...

  4. u盘维护工具 linux,【制作简单,启动兼容性好的U盘维护工具:DOS工具+WINPE+PUPPY LINUX】...

    这款U盘启动工具盘是本人使用syslinux启动工具,选用其他人出的工具盘映像文件制作而成,已使用三年多了,兼容性非常好,目前还没有遇到不能启动的机器,感兴趣的朋友可以试用一下. 启动信息由sysli ...

  5. 用unity制作简单的太空游戏(1):简单飞船控制

    最近沉迷<Dreadnought>(中文名:无畏战舰,B站CG链接),回想起作为十余年EVE老油条的太空生涯,又萌生了做个太空游戏的情怀,所以这一次就讲讲怎么做个简单的太空飞船的小游戏好了 ...

  6. Unity制作简单拦截近防炮——如何预测打击目标

    突然想尝试一下在Unity中模拟近防炮(拦截炮),该拦截跑应该发射物理子弹并并命中处在运动中的物体,所以在代码中至少应考虑: 子弹发射矢量速度vb(暂不考虑风阻) 目标距离 L 目标当前矢量速度 v ...

  7. unity制作简单的植物大战僵尸

    文章目录 介绍 掉落阳光 卡片恢复透明度 拖拽卡片到方格子上生成植物 僵尸生成器 子弹对象池 源码 介绍 简单制作植物大战僵尸游戏. 协程实现各种相机动画 卡片填充方式修改为:"已填充&qu ...

  8. js怎么制作html的主题,用HTML和CSS以及JS制作简单的网页菜单界面的代码

    写ABROAD项目用到了标签这个东东,其实标签在WEB上到处可见,图中就依次显示了DCC文章发布器.ABROAD后台添加数据.百度图片搜索.sf发布博客文章时贴标签的样式--标签就像浏览器里原生的ch ...

  9. Unity制作简单的精灵图动画(新手向)

    使用精灵图制作动画步骤: 1.精灵图准备 2.制作动画 一.精灵图导入与切割 第一种情况:导入的是已经切割好的精灵图,请直接跳动到二 第二种情况:导入的是需要切割的精灵图,需要切割,切割步骤: 1按照 ...

最新文章

  1. Eclipse JDBC SQLServer2008 R2
  2. 985博士《深度学习》手推公式笔记开源PDF下载!
  3. 递归时间/空间复杂度的分析(斐波那契为例)
  4. pytorch——torch.backends.cudnn.benchmark = True
  5. 在Java中避免空检查
  6. python3 x默认使用的编码_python3默认使用什么编码
  7. linux:vim中全选复制
  8. DDD+分布式+负载均衡+服务治理已撸!微服务架构不就这点事?
  9. Python编程教程:面向对象之高级特性!
  10. html加载swf 进度条,Flash加载外部文件创建进度条3种方法
  11. 从高级程序员的角度来看,Rust 基础知识
  12. 新基建东风下,开发者这样抓住工业互联网风口!
  13. Echarts横向的柱状图
  14. CAN(FD)收发器选型及替换指南(一)
  15. Python暴力破解wifi密码
  16. mysql 自动化运维开发_Python自动化运维开发----基础(十三)Mysql数据库基础
  17. 「Photoshop2021入门教程」新功能——快速操作
  18. 补肾健脑的中药有哪些?
  19. Android 实现仿微信朋友圈全文、收起的功能
  20. 约8937亿元:台积电创下台湾企业市值最高纪录

热门文章

  1. C语言学习(十)C语言中的小数
  2. 英语专家谈英语学习方法
  3. java web工程,传递字符串参数小记
  4. [校招] 英文句子单词反转 - 哔哩哔哩 2020
  5. 安装域、对域进行管理
  6. Pyton 类和对象
  7. 计算机光驱无法启用,win10系统没法启动光驱怎么解决
  8. python制作会动的表情包_Python自动生产表情包
  9. 2022年全球市场燃油液位传感器总体规模、主要生产商、主要地区、产品和应用细分研究报告
  10. 随机生成数字字母组成的组合