溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Unity3D開發(fā)類似保齡球游戲

發(fā)布時間:2020-06-26 12:20:13 來源:網(wǎng)絡 閱讀:724 作者:蓬萊仙羽 欄目:游戲開發(fā)

先學習一些基本的腳本實現(xiàn):

1.動態(tài)創(chuàng)建物體.默認位置是(0,0)位置

GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Cube);
//創(chuàng)建的位置

goNew.transform.position = new Vector3(0, 0, -2);

 goNew.AddComponent<Rigidbody>();//添加剛體組件,是一種泛型


2.判斷用戶是否按下鼠標左鍵

if(Inut.GetMouseButtonDown(0))


3.按下鼠標左鍵,給它一個往前的脈沖力,forward就是一個默認長度為1的單位向量

this.gameObject.rigidbody.AddForce(Vector3.forward * 50, ForceMode.Impulse);


4.給當前物體添加一個往鼠標點擊的方向的多大的力,它就會往那個方向去走

 //點擊目標然后從攝像機的位置發(fā)射出一個小球,這里要計算力的方向向量

 Vector3 targetPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 3));
Vector3 dir = targetPos - Camera.main.transform.position;
//給當前的物體添加某個方向的力
this.gameObject.rigidbody.AddForce(dir * 5,ForceMode.Impulse);


5.點擊鼠標生成對象
if (Input.GetMouseButtonDown(0))
{
     GameObject goNew = GameObject.CreatePrimitive(PrimitiveType.Sphere);
     goNew.transform.position = new Vector3(0, 0, 0);
      goNew.AddComponent<Rigidbody>();
}


6.對象銷毀回收內存
if (Input.GetMouseButtonDown(0))
{
      GameObject s1 = GameObject.Find("Sphere");//相當于document.getElementById();
       Destroy(s1,2); //延時2秒銷毀對象
}



制作游戲:

using UnityEngine;
using System.Collections;


public class gameText : MonoBehaviour {


    private GameObject goPlane;


// Use this for initialization
void Start () {
        //找到地形對象
        goPlane = GameObject.Find("Plane");


        //創(chuàng)建4*4的cube
        for (int i = 0; i < 4; i++)
        {
            for (int j = 0; j < 4; j++)
            {
                GameObject go = GameObject.CreatePrimitive(PrimitiveType.Cube);
                go.transform.position = new Vector3(i, j, -1);
                go.AddComponent<Rigidbody>();
                go.AddComponent<AutoDistory>();//相當于實例化一個腳本銷毀對象的一個類然后掛到每個對象中,讓他不可見的時候自行銷毀
            }
        }
}

// Update is called once per frame
void Update () {
        if (Input.GetMouseButtonDown(0))
        {
            //創(chuàng)建×××的object
            GameObject goBullet = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            goBullet.transform.position = Camera.main.transform.position;
            goBullet.AddComponent<Rigidbody>();
            //讓對象不可見的時候自行銷毀
            goBullet.AddComponent<AutoDistory>();
            
            //獲取到這個對象的多有資源,在發(fā)射的時候播放一個音樂
            goPlane.GetComponent<AudioSource>().Play();


            //點擊鼠標,從攝像機的位置開始發(fā)射小球
            Vector3 targetPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, 3));
            goBullet.rigidbody.AddForce((targetPos - Camera.main.transform.position) * 20, ForceMode.Impulse);
            
        }

}
    void OnGUI()
        {
            string s = "作者:丁小未";
            GUIStyle bb = new GUIStyle();
            bb.normal.background = null;//設置背景
            bb.normal.textColor = new Color(1,0,0);//設置顏色
            bb.fontSize = 40;
            GUI.Label(new Rect(40, 10, 100, 50), s, bb);
  
        }
}


AutoDistory腳本:

using UnityEngine;
using System.Collections;

//當東西不可見的時候就讓他自動銷毀
public class AutoDistory : MonoBehaviour {

// Use this for initialization
void Start () {
}

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


    void OnBecameInvisible()
    {
        Destroy(this.gameObject);
    }
}

Unity3D開發(fā)類似保齡球游戲


其他提示:

1.天空盒的導入,提醒不要全部導入,不然文件會很大,應用是點擊Edit-》Render Setting,然后導入天空盒

2.音頻文件是在Camera上添加Component->Audio->Audio Sourse,他自動附帶的Audio Listenner


詳細項目源碼:http://download.csdn.net/my



==================== 迂者 丁小未 CSDN博客專欄=================

MyBlog:http://blog.csdn.net/dingxiaowei2013             MyQQ:1213250243

Unity QQ群:858550         cocos2dx QQ群:280818155

====================== 相互學習,共同進步 ===================

 

轉載請注明出處:http://blog.csdn.net/dingxiaowei2013/article/details/9734935

歡迎關注我的微博:http://weibo.com/u/2590571922


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI