網(wǎng)站首頁百科全書 >正文
1、第二節(jié) 檢測碰撞下面我們通過簡單的JavaScript語句來檢測碰撞,這在制作游戲中是很有用的,比如說檢測到子彈和敵人的碰撞之后,可以使用我們后來要講到destory命令消滅敵人。這次我們新建一個Terrain項目,在用Grass貼圖來覆蓋住它,如果你找不到貼圖的話,記得在Asset菜單里找找,看看哪些資源你還沒有引入進去。然后再加入一個Cube項目,我這里叫做PlayerCube,為他加上重力,之后選擇bouncy性質(zhì),然后我們再新建一個Cude,調(diào)整y和z的值讓他變成一堵墻,放置好,命名為Wall,別忘了給Terrain改名為Terrain,之后我們在Asset菜單中建立一個JavaScript項目,改名為CollisionDetect,雙擊打開,如果你使用的是Unity 3.5的話,就會打開MonoDev,這是一個新工具還是很好用的,在其中新建一個函數(shù),別管Start和Update函數(shù),我們待會會講。加入以下代碼:function OnCollisionEnter(theCollision : Collision){?if(theCollision.gameObject.name=="Terrain"){?Debug.Log("Hit terrain");?}else if(theCollision.gameObject.name=="Wall"){?Debug.Log("Hit the wall");?}如果看不懂這些代碼的話,也沒關(guān)系,JavaScript是最好學的編程語言,Google一下吧,保存這個JS文件,然后拖到我們的PlayerCube上。這時候我們運行,就會看到PlayerCube到處蹦,碰到Terrain的時候,控制臺就會顯示Hit Terrain,碰到wall的時候就會顯示Hit the wall。
2、第三節(jié)??檢測用戶輸入下面我們來講一下如何檢測用戶的鍵盤和鼠標的操作。就用我們上次的那個場景,這次我們給PlayerCube加上我們可以控制的動作。就是通過“wasd”或者上下左右鍵來控制移動。請注意,如果要使用這里使用的方法來控制移動,那么所控制的物體不能夠是一個物理世界的物體,也就是說你要把RigidBody這個component刪掉,如果你想要在物理世界里移動物體的話,你就需要我們在下面會講到的力(force)。首先我們新建一個JavaScript文件,這里命名為InputDetect吧,輸入下面的代碼:#pragma strict?var Player : GameObject;?function Start () {?}?function Update () {?Player = GameObject.Find("PlayerCube");?if(Input.GetKey(KeyCode.W)){?Debug.Log("Hit w");?Player.transform.Translate(Vector3.forward * 2);?}else if(Input.GetKey(KeyCode.S)){?Debug.Log("Hit s");?Player.transform.Translate(Vector3.back * 2);?}else if(Input.GetKey(KeyCode.A)){?Debug.Log("Hit a");?Player.transform.Translate(Vector3.left * 2);?}else if(Input.GetKey(KeyCode.D)){?Debug.Log("Hit d");?Player.transform.Translate(Vector3.right * 2);
3、第四節(jié) 使用Prefab復(fù)制和控制物體我們可以直接把Prefab看做是個媽,她能生好多小孩,如果媽媽的DNA變了,小孩的跟著變,就是說你可以用Prefab創(chuàng)建物體,然后通過這個Prefab修改所有這類物體的性質(zhì),這對于批量生成的敵人或者NPC來說很有用。首先,先創(chuàng)建一個Prefab,我這里命名為“Mother”,之后新建一個Sphere物體,當然你也可以建一些其他的物體,之后給這個Sphere加上你想要的性質(zhì),我加入了RigidBody和Bouncy,之后將Sphere拖到Mother上,你會發(fā)現(xiàn)mother變藍了,之后你就可以隨意拖一些mother物體到屏幕上去,你會發(fā)現(xiàn)所有的Prefab創(chuàng)建出的物體在清單上都是藍色的,說明他們都有共同的性質(zhì)。當然,作用于一個Prefab上的腳本也會作用到它的子物體上去。
4、第五節(jié) 使用Destroy命令消滅物體我們游戲中怎么能夠沒有敵人呢?有敵人就得能夠消滅他們,這時候,我們就會使用Destroy命令了。在這里,我們使用上次Mother生出來的小球球作為敵銀,一旦我們的PlayerCube碰撞到了小球的話,就是用Destroy讓小球消失。新建一個JavaScript腳本,輸入以下代碼:#pragma strict?var mother : GameObject;?function Start () {?}?function Update () {?}?function OnCollisionEnter(theCollision : Collision){?mother = GameObject.Find("Mother");?if(theCollision.gameObject.name=="Mother"){?Debug.Log("Hit mother");?Destroy(mother);這段代碼很好懂吧,就是檢驗碰撞,然后銷毀碰撞到的Mother物體,別忘了把Destroy的JavaScript文件拖到PlayerCube上去。運行一下,就可以看到碰撞到的物體都被消滅了。
本文到此結(jié)束,希望對大家有所幫助。
版權(quán)說明:本文由用戶上傳,如有侵權(quán)請聯(lián)系刪除!
- 上一篇:民國時期衣服布料(民國印花布連衣裙)
- 下一篇:最后一頁
猜你喜歡:
- 2022-07-02民國時期衣服布料(民國印花布連衣裙)
- 2022-07-02什么叫處置權(quán)(處置權(quán)可以隨意支配啥意思相關(guān)介紹)
- 2022-07-02多張工作表數(shù)據(jù)匯總到一張工作表(excel快速匯總多張工作表明細數(shù)據(jù)到匯總表優(yōu)質(zhì))
- 2022-07-022014上海草莓音樂節(jié)
- 2022-07-02十渡游玩攻略兩日游(十渡一日游怎么玩?。?/a>
- 2022-07-02農(nóng)村征地拆遷補償標準(農(nóng)村征地拆遷補償標準)
- 2022-07-02飛屋環(huán)游記純英文字幕(飛屋環(huán)游記的英文簡介急相關(guān)介紹)
最新文章:
- 2022-07-02當日最新消息 某實驗室是什么實驗室 到底要研發(fā)什么法定代表人是誰
- 2022-07-02當日最新消息 女子逛商場遭遇各種刺客6顆話梅128網(wǎng)友荊軻購物廣場
- 2022-07-02民國時期衣服布料(民國印花布連衣裙)
- 2022-07-02太倉友誼醫(yī)院辦健康證能用醫(yī)保嗎(太倉友誼醫(yī)院下午可以辦健康證嗎相關(guān)介紹)
- 2022-07-02九陰真經(jīng)魁星踢斗13層(九陰真經(jīng)魁星踢斗6789層那拿什么換)
- 2022-07-02松山湖華為(松山湖)
- 2022-07-02秋葵功效有哪些(秋葵的八大功效優(yōu)質(zhì))
- 2022-07-02單板滑雪冬奧會場地(冬奧會上用的滑板價格相關(guān)介紹)
- 2022-07-02戴頭上的發(fā)簪(簪子 固定頭發(fā)或頂戴的發(fā)飾)
- 2022-07-02衡水市體育局怎么樣(衡水市體育局)
- 2022-07-02泡泡堂無限連(泡泡堂無限針怎么弄那)
- 2022-07-02弘悅101值不值得買(弘悅101)
- 2022-07-02旅行箱哪個尺寸實用(旅行箱尺寸與人體對比)
- 2022-07-02老公的筆記本(LG的筆記本怎么樣)
- 2022-07-02003010這部即將上映的漫畫是原創(chuàng)嗎是什么類型的動畫相關(guān)介紹
- 熱點推薦
- 熱評文章
- 隨機文章
- 2014上海草莓音樂節(jié)
- 十渡游玩攻略兩日游(十渡一日游怎么玩啊)
- 農(nóng)村征地拆遷補償標準(農(nóng)村征地拆遷補償標準)
- 飛屋環(huán)游記純英文字幕(飛屋環(huán)游記的英文簡介急相關(guān)介紹)
- 怎樣免費領(lǐng)取qq超級會員氣泡(如何運用QQ會員活動免費領(lǐng)取VIP多彩氣泡)
- 延時器開關(guān)(延時器)
- dnf盧克湮滅之圣所怎么打(dnf每日盧克詳細攻略-湮滅之圣所)
- 南寧學生音樂節(jié)
- sheet怎么合并到一個excel(excel有上百個shent,怎么快速合并到一個shent相關(guān)介紹)
- 駕考科目三考試崩潰(駕考科目三考試流程)