目录
实验1: 仿真系统的UI界面设计
- 实验目的:
(1)熟悉Unity中UI界面的设计与编写
(2)熟悉UI界面中场景转换,UI与场景内容相互关联的方式。
- 实验内容:
(1)自行设计一个UI界面;
(2)UI界面中包括canvas、Image、RawImage、Button等多种UI元素;
(3)实现点击Play按钮转换场景,点击Exit退出游戏的功能;
(4)实现主界面添加音量滑动杆、静音等功能;
(5)为UI界面单独设置一个场景,并设置编号为0。
实验一
(1)设计如下UI界面,其中包含了canvas、Panel、Text、Button、Image、RawImage等UI元素
(2)实现点击Play按钮转换场景,点击Exit退出游戏的功能
创建脚本:Login.cs
在脚本中添加:using
UnityEngine.SceneManagement;
脚本内容:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class Login : MonoBehaviour
{
public void Enter()
{
SceneManager.LoadScene(1);
}
public void ReturnUi()
{
SceneManager.LoadScene(0);
}
public void ExitGame()
{
Application.Quit();
}
}
脚本中编号为1的场景在之后的实验中会逐渐完善。这次受到蔡老师上课的启发,决心做一款属于自己的fps射击游戏。
将脚本中的方法挂载到Button上
然后将enter()方法添加进去,如图所示
同理,将exit()方法添加到第二个Button中
接下来运行程序,点击“进入我的世界”,可得到:
(3)主界面添加音量滑动杆、静音等功能;
在脚本管理器中添加Audio Source,将下载好的音乐文件放入AudioClip中(其中Unity支持AIFF WAV MP3 OGG等)
如下图所示:
如图在Toggle中添加脚本管理器
并找到mute
在Slider中添加volume
添加脚本:MusicControl.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MusicControl : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
MusicPlayControl();
}
void MusicPlayControl()
{
if (Input.GetKeyDown(KeyCode.O))
{
GetComponent<AudioSource>().Pause();
}
else if (Input.GetKeyDown(KeyCode.P))
{
GetComponent<AudioSource>().UnPause();
}
}
}
该脚本的意思是当按下P键时音乐暂停播放,按下空格键时音乐继续播放
注意:将这两个选项选中
并将下面选项去掉(Toggle中)
最终的UI设计界面:
版权归原作者 2013041727程前 所有, 如有侵权,请联系我们删除。