VR開發(fā)實戰(zhàn)之MortalBarrenLand(致命荒島)

框架視圖

關(guān)鍵代碼

Boom

using UnityEngine;
using System.Collections;

public class Boom : MonoBehaviour {



    public GameObject B1;
    public GameObject B2;
    public GameObject B3;
    private GameObject m_B1;
    private GameObject m_B2;
    private GameObject m_B3;

   // public GameObject m_Canvas;

    void Start()
    {
       
       // m_Canvas.SetActive(false);
        //B1.SetActive(false);
        //B2.SetActive(false);
        //B3.SetActive(false);
        StartCoroutine("Task");
    }




    IEnumerator Task()
    {//要注意協(xié)同程序返回值類型
        //等待一秒后執(zhí)行;
        yield return new WaitForSeconds(1f);//協(xié)同程序返回值格式 yield return
        m_B1 = GameObject.Instantiate(B1, gameObject.transform.position+new Vector3(-10,13,-4f), Quaternion.identity) as GameObject;
        m_B1.SetActive(true);
        m_B2 = GameObject.Instantiate(B2, gameObject.transform.position + new Vector3(0,10, 0f), Quaternion.identity) as GameObject;
        m_B2.SetActive(true);
        m_B3 = GameObject.Instantiate(B3, gameObject.transform.position + new Vector3(8, 7, -4f), Quaternion.identity) as GameObject;
        m_B3.SetActive(true);
        //等待一秒后執(zhí)行贰逾;
        yield return new WaitForSeconds(1f);//協(xié)同程序返回值格式 yield return
        GameObject.Destroy(gameObject);

        
    }
    
    void Update () {
    
    }
}

ChestMgr

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class ChestMgr : MonoBehaviour {

    

    //點擊寶箱事件

    //public void ChestClicked() { 
    
    //動畫事件獲取某個事件 然后播放
    //    iTweenEvent.GetEvent(gameObject,"OpenChest").Play();//參數(shù)1:游戲?qū)ο?參數(shù)2:之前設(shè)置打開動畫的名稱 字符串格式

    //}


    public Text m_text;
    private float time = 20f;
    private bool boomOpen = false;

    public GameObject B1;
    public GameObject B2;
    public GameObject B3;

    public GameObject m_Canvas;
    public GameObject Texture;

    private GameObject m_Texture;
    void Start() {
        m_Texture = GameObject.Instantiate(Texture)as GameObject;
        m_Canvas.SetActive(false);
        B1.SetActive(false);
        B2.SetActive(false);
        B3.SetActive(false);
    }
    //記錄狀態(tài)

    private bool isOpen;

    //點擊寶箱事件
    public void ChestClicked() {


        if (isOpen)
        {
            //關(guān)閉事件
            iTweenEvent.GetEvent(gameObject,"CloseChest").Play();
            //設(shè)置布爾值悬荣;
            isOpen = false;
            //返回之后,不再執(zhí)行以下事件疙剑;
            //m_Texture.transform.Translate(new Vector3(m_Texture.transform.position.x-6.8f, m_Texture.transform.position.y+5, m_Texture.transform.position.z+25));

            return;
        }

        //打開寶箱事件
        //動畫播放事件  獲取某個事件  然后播放氯迂;
        iTweenEvent.GetEvent(gameObject,"OpenChest").Play();//參數(shù)1: 游戲?qū)ο?參數(shù)2: 設(shè)置動畫的名稱;
        //重置布爾值言缤;
        isOpen = true;
        m_Texture.transform.Translate(new Vector3(m_Texture.transform.position.x-8f, m_Texture.transform.position.y+10f,m_Texture.transform.position.z+13));

        //炸彈計時:
        boomOpen = true;
        m_Canvas.SetActive(true);
    }

    void Update()
    {
        if (boomOpen)
        {
            time -= Time.deltaTime;
            m_text.text = "" + time;

            if (time<=0)
            {
                m_Canvas.SetActive(false);
                B1.SetActive(true);
                B2.SetActive(true);
                B3.SetActive(true);
                GameObject.Destroy(GameObject.FindGameObjectWithTag("Boom"));
                //退出游戲
               // SceneManager.LoadScene(0);
                Application.Quit();
                
                Debug.Log("退出游戲嚼蚀!");
            }
        }
    }

}

CreateChest

using UnityEngine;
using System.Collections;

public class CreateBoxes : MonoBehaviour
{

    // Use this for initialization

    public GameObject pre;
    void Start()
    {
        CreateWall();
    }

    // Update is called once per frame
    void Update()
    {

    }
    void CreateWall()
    {

        for (int i = -9; i < -1; i += 2)
        {

            for (int j = 10; j < 16; j++)
            {
                // GameObject.Instantiate(prefabBrick,new Vector3(i,j,2),Quaternion.identity);

                GameObject.Instantiate(pre, new Vector3(i, -9.04f, j), Quaternion.Euler(0,180,0));
            }
        }
    }
}

keyMgr

using UnityEngine;
using System.Collections;

public class keyMgr : MonoBehaviour {

    

   

    public void keyClicked() {

        iTweenEvent.GetEvent(gameObject, "setKey1").Play();//參數(shù)1:游戲?qū)ο?參數(shù)2:之前設(shè)置打開動畫的名稱 字符串格式

    }


keys

using UnityEngine;
using System.Collections;

public class keys : MonoBehaviour {

    public void IsSetActive() {

        gameObject.SetActive(false);
    }
}

LockCode

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

public class LockCode : MonoBehaviour {

    public string str = "";
    private GameObject MDoor;

    void Start () {
    
    }
    
    
    void Update () {

       
    }


    public void GetCodeLock(string str1) { 
    
    switch(str1){
        case "0": str += str1;
            break;
        case "1": str += str1;
            break;
        case "2": str += str1;
            break;
        case "3": str += str1;
            break;
        case "4": str += str1;
            break;
        case "5": str += str1;
            break;
        case "6": str += str1;
            break;
        case "7": str += str1;
            break;
        case "8": str += str1;
            break;
        case "9": str += str1;
            break;
        case "clear": str = "";
            break;
        case "confirm": if (str == "0113")
            {
               
                Debug.Log("collect");
                MDoor = GameObject.FindGameObjectWithTag("MainDoor");
               // MDoor.transform.Rotate(Vector3.up,100f);
                SceneManager.LoadScene(3);
                break;
            }
            else {
                str = "";
                Debug.Log("errom"+str);
                break;
        };
           
        default:
            break;
    }
    Debug.Log("按下的數(shù)是:" + str);
    }
    

}

TestButtonClick

using UnityEngine;
using System.Collections;

public class TestButtonClick : MonoBehaviour {


    //方法:
    public void TestClick() {
        string str = gameObject.name;
        Debug.Log(str);
        string str1 = "";
        switch (str)
        {
            case "btn0": str1 = 0+"";
                break;
            case "btn1": str1 = 1 + "";
                break;
            case "btn2": str1 = 2 + "";
                break;
            case "btn3": str1 = 3 + "";
                break;
            case "btn4": str1 = 4 + "";
                break;
            case "btn5": str1 = 5 + "";
                break;
            case "btn6": str1 = 6 + "";
                break;
            case "btn7": str1 = 7 + "";
                break;
            case "btn8": str1 = 8 + "";
                break;
            case "btn9": str1 = 9 + "";
                break;
            case "clear": str1 = "clear";
                break;
            case "confirm": str1 = "confirm";    
                break;
            default:
                break;
        }
        gameObject.SendMessageUpwards("GetCodeLock",str1);
       
    }


}

TestRoate

using UnityEngine;
using System.Collections;

public class TestRoate : MonoBehaviour {

    //旋轉(zhuǎn)事件
    public void RoateSelf() {

      //  gameObject.transform.Rotate(Vector3.up,10.0f);
        Debug.Log("旋轉(zhuǎn)");
    }

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市管挟,隨后出現(xiàn)的幾起案子轿曙,更是在濱河造成了極大的恐慌,老刑警劉巖僻孝,帶你破解...
    沈念sama閱讀 206,723評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件导帝,死亡現(xiàn)場離奇詭異,居然都是意外死亡穿铆,警方通過查閱死者的電腦和手機您单,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悴务,“玉大人睹限,你說我怎么就攤上這事譬猫⊙堕埽” “怎么了羡疗?”我有些...
    開封第一講書人閱讀 152,998評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長别洪。 經(jīng)常有香客問我叨恨,道長,這世上最難降的妖魔是什么挖垛? 我笑而不...
    開封第一講書人閱讀 55,323評論 1 279
  • 正文 為了忘掉前任痒钝,我火速辦了婚禮,結(jié)果婚禮上痢毒,老公的妹妹穿的比我還像新娘送矩。我一直安慰自己,他們只是感情好哪替,可當我...
    茶點故事閱讀 64,355評論 5 374
  • 文/花漫 我一把揭開白布栋荸。 她就那樣靜靜地躺著,像睡著了一般凭舶。 火紅的嫁衣襯著肌膚如雪晌块。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評論 1 285
  • 那天帅霜,我揣著相機與錄音匆背,去河邊找鬼。 笑死身冀,一個胖子當著我的面吹牛钝尸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播搂根,決...
    沈念sama閱讀 38,389評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼蝶怔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了兄墅?” 一聲冷哼從身側(cè)響起踢星,我...
    開封第一講書人閱讀 37,019評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隙咸,沒想到半個月后沐悦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡五督,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,971評論 2 325
  • 正文 我和宋清朗相戀三年藏否,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片充包。...
    茶點故事閱讀 38,100評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡副签,死狀恐怖遥椿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情淆储,我是刑警寧澤冠场,帶...
    沈念sama閱讀 33,738評論 4 324
  • 正文 年R本政府宣布,位于F島的核電站本砰,受9級特大地震影響碴裙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜点额,卻給世界環(huán)境...
    茶點故事閱讀 39,293評論 3 307
  • 文/蒙蒙 一舔株、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧还棱,春花似錦载慈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至珠十,卻和暖如春料扰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背焙蹭。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評論 1 262
  • 我被黑心中介騙來泰國打工晒杈, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人孔厉。 一個月前我還...
    沈念sama閱讀 45,547評論 2 354
  • 正文 我出身青樓拯钻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親撰豺。 傳聞我的和親對象是個殘疾皇子粪般,可洞房花燭夜當晚...
    茶點故事閱讀 42,834評論 2 345

推薦閱讀更多精彩內(nèi)容