Unity3D游戏-愤怒的小鸟游戏源码和教程(二)
生活随笔
收集整理的這篇文章主要介紹了
Unity3D游戏-愤怒的小鸟游戏源码和教程(二)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Unity憤怒的小鳥游戲教程(二)
Chinar
技術交流群:806091680 ! Chinar 歡迎你的加入
END
| 本文提供全流程,中文翻譯。 Chinar堅持將簡單的生活方式,帶給世人! (擁有更好的閱讀體驗 —— 高分辨率用戶請根據需求調整網頁縮放比例) |
AngryEva游戲效果:
- 1
- LevelFrameSelect —— 關卡框選擇
- 2
- MapLevel —— 關卡頁面腳本
- 支持
- May Be —— 搞開發,總有一天要做的事!
教程一,請點擊↓↓
Unity3D游戲-憤怒的小鳥游戲源碼和教程(一)
1
LevelFrameSelect —— 關卡框選擇
用來控制關卡框的解鎖,頁面跳轉
2
MapLevel —— 關卡頁面腳本
用來控制每個關卡的解鎖,和跳轉到游戲場景
Chinar的GitHub工程案例
using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI;/// <summary> /// 關卡選擇腳本 /// </summary> public class MapLevel : MonoBehaviour {public bool isSelect; //可選狀態public Sprite LevelSprite; //替換關卡圖private Image LeveLImage; //UI關卡圖組件public GameObject AllFramePanel; //選關場景界面private Button BackButton; //返回按鈕public GameObject[] Stars; //星星數組public string BiaoShiString; //標示public bool isDevelop; //是否開發private void Awake(){LeveLImage = GetComponent<Image>();}void Start(){BackButton = transform.parent.parent.transform.Find("Map1_BackButton").GetComponent<Button>();BackButton.onClick.AddListener(ToFrame); //綁定按鈕事件BackButton = GetComponent<Button>();BackButton.onClick.AddListener(Selected); //綁定按鈕事件if (transform.parent.GetChild(0).name == gameObject.name) //判斷是否是第一關{isSelect = true;}else //判斷前一關的分數{if (BiaoShiString == "0"){int beforeNum = transform.GetSiblingIndex() - 1;if (PlayerPrefs.GetInt("Level (" + beforeNum + ")") > 0){isSelect = true;}}else if (BiaoShiString != null && isDevelop){int beforeNum = transform.GetSiblingIndex() - 1;if (beforeNum < 2) //限定前三個{if (PlayerPrefs.GetInt("Level (" + BiaoShiString + beforeNum + ")") > 0) //判斷并解開后一關關卡{isSelect = true;}}}}if (isSelect) //處理關卡顯示效果{LeveLImage.overrideSprite = LevelSprite; //替換圖片transform.Find("LevelNum").gameObject.SetActive(true); //開啟關卡名int num = PlayerPrefs.GetInt(gameObject.name); //關卡名:對應行星數量if (num > 0) //顯示幾顆星{for (int i = 0; i < num; i++){Stars[i].SetActive(true);}}}}/// <summary>/// 跳轉到選關場景界面/// </summary>public void ToFrame(){AllFramePanel.SetActive(true); //關閉選關界面transform.parent.parent.gameObject.SetActive(false); //開啟關卡界面}/// <summary>/// 進入關卡/// </summary>public void Selected(){if (isSelect){PlayerPrefs.SetString("NowLevel", gameObject.name);SceneManager.LoadScene(2);}else{if (isDevelop == false) //未曾開發{GameObject obj = Instantiate(Resources.Load<GameObject>("Prefabs/HintPanel")); //提示頁面obj.transform.SetParent(GameObject.Find("Canvas").transform);obj.transform.localPosition = Vector3.zero;Destroy(obj, 2);}}} }Chinar
支持
May Be —— 搞開發,總有一天要做的事!
| 擁有自己的服務器,無需再找攻略! Chinar 提供一站式教程,閉眼式創建! 為新手節省寶貴時間,避免采坑! |
先點擊領取 —— 阿里全產品優惠卷 (享受最低優惠)
1 —— 云服務器超全購買流程 (新手必備!)
2 —— 阿里ECS云服務器自定義配置 - 購買教程(新手必備!)
3—— Windows 服務器配置、運行、建站一條龍 !
4 —— Linux 服務器配置、運行、建站一條龍 !
技術交流群:806091680 ! Chinar 歡迎你的加入
END
本博客為非營利性個人原創,除部分有明確署名的作品外,所刊登的所有作品的著作權均為本人所擁有,本人保留所有法定權利。違者必究
對于需要復制、轉載、鏈接和傳播博客文章或內容的,請及時和本博主進行聯系,留言,Email: ichinar@icloud.com
對于經本博主明確授權和許可使用文章及內容的,使用時請注明文章或內容出處并注明網址
轉載于:https://www.cnblogs.com/chinarbolg/p/9601462.html
總結
以上是生活随笔為你收集整理的Unity3D游戏-愤怒的小鸟游戏源码和教程(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何理解Generator
- 下一篇: 10.Azure应用程序网关(上)