1.拼UI,挂载对应控件
2.脚本GameSetting.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; public enum GameGrade { ESAY, NORMAL, DIFFCULTY } public enum ControlType { KEYBOARD, TOUCH, MOUSE } public class GameSetting : MonoBehaviour { public float soundVolume = 1; //声音 public GameGrade grade = GameGrade.NORMAL; //游戏难度 public ControlType controller = ControlType.KEYBOARD; //操作方式 public bool isFullScreen = false; //是否全屏 public TweenPosition startTween; //开始界面移出动画 public TweenPosition optionTween; //设置界面移入动画 //监听声音设置 public void OnSoundChange() { soundVolume = UISlider.current.value; // 固定格式 :脚本名.current.value 获取监听的值 } //监听难度控制 public void OnGradeChange() { switch(UIPopupList.current.value.Trim()) //PopupList监听属性值的时候,会把换行符一并取到,所以要用Trim()去除两边换行符、制表符、空格等无效字符 { case "容易": grade = GameGrade.ESAY; break; case "NORMAL": grade = GameGrade.NORMAL; break; case "DEFFICULTY": grade = GameGrade.DIFFCULTY; break; } } //监听操作方式 public void OnCtrlTypeChange() { switch (UIPopupList.current.value.Trim()) //PopupList监听属性值的时候,会把换行符一并取到,所以要用Trim()去除两边换行符、制表符、空格等无效字符 { case "KEYBOARD": controller = ControlType.KEYBOARD; break; case "MOUSE": controller = ControlType.MOUSE; break; case "TOUCH": controller = ControlType.TOUCH; break; } } //监听是否全屏 public void OnToggleChange() { isFullScreen = UIToggle.current.value; } //点击设置 public void SettingButtonClick() { startTween.PlayForward(); //正常播放start界面移出场景动画 PlayForward() 正常播放 optionTween.PlayForward(); //播放设置界面进入场景动画 } //点击完成设置,回到开始界面 public void SettingEndButtonClick() { optionTween.PlayReverse(); //倒序播放设置界面进入场景动画,即设置界面移出场景 PlayReverse() 反向播放 startTween.PlayReverse(); //倒叙播放开始界面移出场景动画,即开始界面返回场景 } }