VR开发实战之MortalBarrenLand(致命荒岛)

框架视图

关键代码

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()
    {//要注意协同程序返回值类型
        //等待一秒后执行;
        yield return new WaitForSeconds(1f);//协同程序返回值格式 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);
        //等待一秒后执行;
        yield return new WaitForSeconds(1f);//协同程序返回值格式 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();//参数1:游戏对象 参数2:之前设置打开动画的名称 字符串格式

    //}


    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);
    }
    //记录状态

    private bool isOpen;

    //点击宝箱事件
    public void ChestClicked() {


        if (isOpen)
        {
            //关闭事件
            iTweenEvent.GetEvent(gameObject,"CloseChest").Play();
            //设置布尔值;
            isOpen = false;
            //返回之后,不再执行以下事件;
            //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();//参数1: 游戏对象 参数2: 设置动画的名称;
        //重置布尔值;
        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();//参数1:游戏对象 参数2:之前设置打开动画的名称 字符串格式

    }


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("按下的数是:" + 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 {

    //旋转事件
    public void RoateSelf() {

      //  gameObject.transform.Rotate(Vector3.up,10.0f);
        Debug.Log("旋转");
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,172评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,346评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,788评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,299评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,409评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,467评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,476评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,262评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,699评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,994评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,167评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,827评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,499评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,149评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,387评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,028评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,055评论 2 352

推荐阅读更多精彩内容