




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1-1 建Asset Level1 1-1 建Asset Level1 在 packagesUnity3D asset 套件,如果Unity3D 很多功能asset asset 表示它所屬的套件并沒有被匯入,這時候只要馬上匯入所需的套件就可以使用這些 2assetasset 必須事先以其它Unity3D asset 大抵分為貼圖材質、3D 2assetasset 必須事先以其它Unity3D asset 大抵分為貼圖材質、3D asset Asteroid.tga SimpleShip.psd SimpleShip0.tga Stars_large00 星空貼圖(上半部) Stars_larg
2、e01 星空貼圖(下半部)二、3D 模型Asteroid.fbx Asteroid-lambert4.mat Mortars 迫3 PhotongunSimpleShip0.tga Stars_large00 星空貼圖(上半部) Stars_large01 星空貼圖(下半部)二、3D 模型Asteroid.fbx Asteroid-lambert4.mat Mortars 迫3 Photongunshot 的4按正式開始,這時候玩家進入所謂的第一關場景,接著是第二關、第三關、.,游 。按正式開始,這時候玩家進入所謂的第一關場景,接著是第二關、第三關、.,游 。正式開始的場景則做為第二場景,名稱
3、叫 與從spacebag 的5 enuProject 在Project 窗口內建立一個名為Scenes 這個代號呼叫 級代號來切換場景,場景在ScenesinBuild表里的層級順序就不要再任意變更,免得程序Project 窗口把場景拖曳到ScenesinBuild窗體里,并依下圖調整層級順序:7Level1 Level1 Project 7Level1 Level1 Project 1.Background Projection OrthographicSize 4. Transform tition 和ion 分別為(0,1,- Scenes拖曳到 Build Settings窗口的Sce
4、nes in Build 窗8Scenes拖曳到 Build Settings窗口的Scenes in Build 窗8 為 ition 設為(0,0,0)ion 設為(0,0,0)Scale 為1.5, 1.5)9 設為(1, 1,設為(50,為1.5, 1.5)9 設為(1, 1,設為(50,1-2 。Hero1.Player Player MeshFilter Cube 性 性 polySurface1 模型太小了,從目前的攝影機看不到,此時就要進行下個步驟,把Player 2步驟:Project 窗口spacebag 0.01 1,改完后點選Apply2步驟:Project 窗口spa
5、cebag 0.01 1,改完后點選Apply3D 調三、 修改 Player 的碰撞模型(Collider)(1) 先移除目前的碰撞模型BoxCollider0.01 1 3 (2) 加入新的碰撞模型MeshCollider 4 (4) 修改pCube1步驟:Project 窗口spacebag5pCube1的尺度調整之后,Scene5pCube1的尺度調整之后,SceneInspector 窗口的MeshCollider的核選方塊取消然后0.01 1 6Player Project 窗口里建立一個新的數據匣Scripts6Player Project 窗口里建立一個新的數據匣Scripts
6、usingusingpublicclassPlayer:publicfloatPlayerSpeed; void Update () floatoutToMove=Input.GetAxisRaw(Horizontal)*PlayerSpeed*Time.del transform.Translate(Vector3.right * outToMove);Inspector 窗口中的公共變量PlyerSpeed5空飛幾,它會根據玩家按下鍵盤的A鍵或是D1或-1,這個數字再和代表太空度的 PlyerSpeed frame frame frame 過水平移動使用的是(1,0,0)改用 點有8空飛幾
7、,它會根據玩家按下鍵盤的A鍵或是D1或-1,這個數字再和代表太空度的 PlyerSpeed frame frame frame 過水平移動使用的是(1,0,0)改用 點有8畫x ifition.x=-ition=newVector3(8.25f, ifition=newVector3(-8.25f, Player.cs usingifition.x=-ition=newVector3(8.25f, ifition=newVector3(-8.25f, Player.cs usingusingpublicclassPlayer:publicfloatPlayerSpeed; void Updat
8、e () if(transform. ition.x=制作 造類似星際大戰的綠光雷射 。 (1) 為 (1) 為 Rigidbody 屬性GravityRigidbody 屬性Kinematic個只要讓 彈能夠一定的速度往上方飛去,直到離Projectile Script 把 個只要讓 彈能夠一定的速度往上方飛去,直到離Projectile Script 把 加到 GameObject usingpublicclassProjectile: public float ProjectileSpeed; void Start () myTransform=voidUpdate()myTransfo
9、rm.Translate(Vector3.up*編修完成后, 記得這里有個公共變量 ProjectileSpeedInspection Projectile ProjectileSpeed 為 10現在 彈的基已經完成,不過大家一定覺得很奇怪,Unity3D 的 GameObject 一 現在 彈的基已經完成,不過大家一定覺得很奇怪,Unity3D 的 GameObject 一 GameObject PrefabProjectilePrefab Prefab(1) 建立一個新的 PrefabProjectilePrefab GameObject 銷毀 彈往上方移動Project Create
10、PrefabProjectilePrefab 拖曳至此將 Herarchy 窗口內的 Projectile 拖曳到 ProjectilePrefab 里Herarchy 發射 發射 彈的程序為了讓程序代碼可以存取 彈 發射 發射 彈的程序為了讓程序代碼可以存取 彈 Prefab,usingusingpublicclassPlayer:publicfloatpublicGameObject. . Player.cs =+目前的坐標產生一顆 彈:ition,if(Input.GetKeyDown(space) .發射 彈的當 彈被 Instantiate()ProjectilePrefab 射 彈
11、程序代碼后的完整內容:usingusing=+目前的坐標產生一顆 彈:ition,if(Input.GetKeyDown(space) .發射 彈的當 彈被 Instantiate()ProjectilePrefab 射 彈程序代碼后的完整內容:usingusingpublicclassPlayer:publicfloatvoid Update () if(transform. ition.x= ition=newition.yition,if(transform. ition.x= ition=newition.yition,現在要在發射 彈時發出咻.咻.spacebag (1) Proje
12、ctilePrefab,再點選主選單ComponentAudioAudioSourceSourceProjectilePrefab里。查看一下它的AudioClip的內容應(3) 點選Audio Clip文件,請選擇Photongunshot 0.02(4) 確認PlayOnAwake是否已勾選,如果沒有,請將它勾選起來,讓 彈生成時,音效,發射 彈時已經有聲音了:1-3 MeshFilter 一、 建立隕石 GameObject1-3 MeshFilter 一、 建立隕石 GameObject 都稱呼它為ition 與ion 均為(0,0,Scale 為(1.3,1.3,Enemy 的外型(
13、1) 把屬性SphereMeshFilter)改為pSolid3(2) Project Apply (2) Project Apply ) Enemy Enemy Collider 還是原來的球體Player 的 Player ColliderPlayer ColliderCollider 還是原來的球體Player 的 Player ColliderPlayer Collider的目的是為了碰撞偵測而設的,一般而言中的物體是否相互碰撞不是照Unity3D 在的Colider 做為隕石的 Collider。Enemy.csProject Scripts x=Random.Range(-7.0f
14、,MinSpeed MaxSpeed currentSpeed=floatoutToMove=currentSpeed*transform.Translate(Vector3.down*Enemyifition.y=-5).MinSpeed MaxSpeed currentSpeed=floatoutToMove=currentSpeed*transform.Translate(Vector3.down*Enemyifition.y=-5).的概念整理一下,然后完成 :/usingusingpublicclassEnemy: public float MinSpeed; public floa
15、t MaxSpeed; privatefloatcurrentSpeed; private float x, y, z;voidvoidUpdate()transform.Translate(Vector3.down*ifition.y1000)9Player.Lives 里(值是 Score 變量) 的/usingusingpublicclassPlayer:MonoBehaviour略 9Player.Lives 里(值是 Score 變量) 的/usingusingpublicclassPlayer:MonoBehaviour略 :if(otherObject.tag=enemy&e=
16、略10 Lose 現思考一下要在那里判斷生命值是否為0 呢?當太被隕會先生,的敗/:usingusingpublicclassPlayer:MonoBehaviour略IEnumerator; yieldreturnnew/:usingusingpublicclassPlayer:MonoBehaviour略IEnumerator; yieldreturnnewif (Player.Lives0) while(blinkCount= !gameObject.renderer.enabled; if (gameObject.renderer.enabled=true) hooter2D yiel
17、dreturnnew略Lose Missed 變量)Player.Missed /usingusingpublicclassEnemy:MonoBehaviour略voidUpdate()transform.Translate(Vector3.down*ifition.y=-publicclassEnemy:MonoBehaviour略voidUpdate()transform.Translate(Vector3.down*ifition.y=-略1-6 細部調整畫Level1 (2) 設定Stars1ion、Scale 分別(3) Ctrl-畫Level1 (2) 設定Stars1ion、S
18、cale 分別(3) Ctrl-ition 為(0,17,3.5)(4) Spacebag 中將預先做好的星空圖Stars_large00Stars 別到Stars1與Stars2Inspector 的公共變量Speed1,星空背景效果就大功/usingusingpublicclassStars:publicfloatSpeed; void Update () floatoutToMove=Speed* ifition.y-12)ition new太空飛機來發射 彈或避開隕石,操作的難度也就會越來越高了。currentSpeed=所以只要在隕石被 彈摧毀之后把 MinSpeed MaxSpee
19、d 的數值調高,新隕石就有機會Projectile.cs 程序,每次隕石被 MinSpeed MaxSpeed usingpublicclassProjectile:MonoBehaviour略 MaxSpeed usingpublicclassProjectile:MonoBehaviour略 if(otherObject.tag=enemy)Prefab, ition, 并沒有處理隕石變大變小,它固定的Scale 就是(1.3,1.3,1.3),為了讓它可以以隨MinScale、MaxScaleScale 另外還要三個變量 CurrentScaleX、CurrentScaleY、Curre
20、ntScaleZMinScale Scale CurrentScaleX=Random.Range(MinScale,MaxScale); CurrentScaleY=Random.Range(MinScale,MaxScale); CurrentScaleZ=Random.Range(MinScale,MaxScale); / nemy.cs usingpublicclassEnemy:publicfloatpublic float MaxSpeed; private floatprivatefloatprivatefloat略publicvoid currentScaleX= currentScaleY= currentScaleZ = Random.Range(MinScale,MaxScale); curre
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深圳技術大學《飛機裝配工藝學》2023-2024學年第二學期期末試卷
- 江西省撫州市臨川一中2025屆高三4月19日第12周物理試題考試試題含解析
- 江蘇省江陰四校2024-2025學年高三教學質量檢測試題試卷(二)歷史試題含解析
- 昆明醫科大學《復調音樂基礎》2023-2024學年第一學期期末試卷
- 金山職業技術學院《數字圖像處理C》2023-2024學年第二學期期末試卷
- 洛陽理工學院《液壓元件》2023-2024學年第二學期期末試卷
- 南京航空航天大學《工程訓練Ⅱ》2023-2024學年第二學期期末試卷
- 山東鋁業職業學院《機電傳動與控制》2023-2024學年第二學期期末試卷
- 2025年四川廣安市武勝縣天禾糧油有限公司招聘筆試參考題庫附帶答案詳解
- 2025年內蒙古通遼市蒙東協合新能源有限公司招聘筆試參考題庫含答案解析
- 川09J139 居住建筑油煙氣集中排放建筑構造(DBJT20-65)
- 浙江工商大學論文答辯匯報通用ppt模板
- 2023年北京市高中力學競賽決賽試題
- C++反匯編與逆向分析技術揭秘(第2版)
- 2023屆湖北省武漢市高三畢業生4月調考英語試卷及參考答案
- 肝移植并發癥膽道并發癥
- SMT失效模式分析PFMEA
- 【教案】計算機網絡技術教案
- LY/T 2638-2016華北落葉松種子園營建技術規程
- GB/T 29602-2013固體飲料
- GB/T 26774-2011車輛運輸車通用技術條件
評論
0/150
提交評論