zoukankan      html  css  js  c++  java
  • NGUI(四)制作一个菜单界面

    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();           //倒叙播放开始界面移出场景动画,即开始界面返回场景
        }
    }
  • 相关阅读:
    网页简单模块布局
    Navicat 8 注册密码
    布局黄冈中学
    php导出csv格式文件
    518. 零钱兑换 II
    1813. 句子相似性 III
    ransac算法概述
    c++ 读取文件夹下所有的文件名
    c++ 获取系统时间 写txt string 转 char* 文件改名 文件删除
    1498. 满足条件的子序列数目 二分 快速幂 等比数列前n项和公式
  • 原文地址:https://www.cnblogs.com/yifengs/p/15506345.html
Copyright © 2011-2022 走看看