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