zoukankan      html  css  js  c++  java
  • 极致21点开发DAY2

    今天完成的主要内容时MainScene场景中设置面板的开发。游戏逻辑:点击设置按钮,弹出音乐设置弹框,弹框内容包括音乐的打开与关闭,退出游戏。

    点击退出游戏,弹出退出游戏确认面板。效果图:

    1.首先在Controller.cs文件中添加Settings对象以及这两个面板对象字段。然后添加打开设置面板的方法,代码如下:

     1    public GameObject set_music;
     2     public GameObject set_confirm;
     3 
     4   private void OnSetBtn()
     5     {
     6         settings.SetActive(true);
     7         //确保每次打开设置时,音乐设置面板打开,确认面板关闭
     8         set_music.SetActive(true);
     9         set_confirm.SetActive(false);
    10     }
    11 
    12 //当然还有在Init方法中添加监听的代码
    13  setBtn.onClick.AddListener(OnSetBtn);

    2.然后在Settings物体上添加脚本SetController.cs

    这个脚本目前完成的任务包括控制2个窗口的显示逻辑。分2步走,比较懒,一次更所有代码了。

      1 /*        项目:极致21点
      2  *
      3  *        主题:
      4  *
      5  *      功能:设置面板的逻辑:1.打开关闭音乐逻辑
      6  *                             2.是否退出游戏逻辑
      7  *      作者:Mr.Zhang
      8  *
      9  *      日期:2019.1.1
     10  *
     11  */
     12 using UnityEngine;
     13 using UnityEngine.UI;
     14 namespace PureMVCDemo
     15 {
     16     public class SetController : MonoBehaviour
     17     {
     18         private bool musicOnOff;
     19         public Image musicImage;
     20         public Sprite musicOn;
     21         public Sprite musicOff;
     22         public GameObject musicSetting;
     23         public Button onOffBtn;
     24         public Button backBtn;
     25         public Button quitGameBtn;
     26 
     27         public GameObject confirm;
     28         public Button sureBtn;
     29         public Button cancelBtn;
     30 
     31         private void Start()
     32         {
     33             musicOnOff = true;            
     34             Init();
     35            
     36         }
     37         void Init()
     38         {
     39             onOffBtn.onClick.AddListener(OnOnOffBtn);
     40             backBtn.onClick.AddListener(OnBackBtn);
     41             quitGameBtn.onClick.AddListener(OnQuitGamBtn);
     42             sureBtn.onClick.AddListener(OnSureBtn);
     43             cancelBtn.onClick.AddListener(OnCancelBtn);
     44         }
     45         #region 音乐设置面板监听事件
     46         /// <summary>
     47         /// 音乐开启关闭监听事件
     48         /// </summary>
     49         private void OnOnOffBtn()
     50         {
     51             //如果当前状态是打开,则切换为关闭
     52             if (musicOnOff)
     53             {
     54                 musicImage.sprite = musicOff;
     55                 //修改开关状态
     56                 musicOnOff = false;
     57             }
     58             else
     59             {
     60                 musicImage.sprite = musicOn;
     61                 musicOnOff = true;
     62             }
     63         }
     64         /// <summary>
     65         /// 返回主面板,关闭设置面板
     66         /// </summary>
     67         private void OnBackBtn()
     68         {
     69             // Debug.Log("Back button clicked");
     70             this.gameObject.SetActive(false);
     71         }
     72         /// <summary>
     73         /// 关闭音乐设置面板,弹出确认退出游戏面板
     74         /// </summary>
     75         private void OnQuitGamBtn()
     76         {
     77             musicSetting.SetActive(false);
     78             confirm.SetActive(true);
     79         }
     80         #endregion
     81 
     82         #region 确认退出面板监听事件
     83         /// <summary>
     84         /// 确认退出游戏
     85         /// </summary>
     86         private void OnSureBtn()
     87         {
     88             Debug.Log("Sure Button clicked");
     89             Application.Quit();
     90         }
     91         /// <summary>
     92         /// 取消退出游戏
     93         /// </summary>
     94         private void OnCancelBtn()
     95         {
     96           
     97             //关闭设置面板
     98             this.gameObject.SetActive(false);
     99         }
    100         #endregion
    101     }
    102 }
  • 相关阅读:
    Python爬虫 -- 抓取电影天堂8分以上电影
    Kotlin & Vertx 构建web服务
    js promise 风格编程
    Java Config 下的Spring Test方式
    (转)SpringSecurity扩展User类,获取Session
    maven 打包 xml文件
    EL表达式的操作符
    mysql 去除空格
    spring security
    GoogleApis 屏蔽
  • 原文地址:https://www.cnblogs.com/blackteeth/p/10204491.html
Copyright © 2011-2022 走看看