




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
.第3章
C#腳本編程
3.1C#腳本語言基礎
.目錄.6.
Input輸入
.2.第一個腳本游戲
.3.
MonoBehaviour類
.4.
GameObject類
.5.Transform類
.1
.腳本編輯器
1.
腳本編輯器
可登錄VisualStudio的官網,選擇VisualStudio2019Community版進行下載、安裝。VisualStudio安裝完成后,在Unity編輯器的菜單欄中選擇“Edit”>“Preferences”,選擇“ExternalTools”,在“ExternalScriptEditor”下拉列表框中將腳本編輯器設為VisualStudio2019(Community),如圖所示。這樣,在Unity中雙擊腳本文件,即可直接打開VisualStudio2019軟件,編寫腳本。2.
第一個腳本游戲
在Unity中,開發者編寫的每一個腳本都被視為一個自定義組件(Component),可通過AddComponent的方式將腳本添加到游戲對象中。
用Unity完成第一個腳本程序:
(1)啟動Unity,新建項目,在Hierarchy面板中創建一個新的游戲對象Cube;(2)在Project面板中右鍵單擊,在彈出的快捷菜單中選擇“Create”>“Folder”,創建一個Scripts文件夾來管理項目中創建的腳本;(3)Project面板中右鍵單擊,彈出的快捷菜單中選擇“Create”>“C#Script”,在Assets/Scripts文件夾下創建一個新的腳本,默認名稱為NewBehaviourScript.cs,將其重命名為Pratise1.cs;(4)雙擊Pratice1.cs腳本文件,打開VisualStudio編譯器,如圖所示;(5)在Start()函數中添加一行語句,然后保存腳本;
Debug.Log("TheFisrtProgram");(6)回到Unity編輯器,將Pratise1.cs腳本拖曳到Hierarchy面板的Cube對象上,也可直接將其拖曳到Cube對象的Inspector面板中;(7)單擊運行按鈕,可以看到Console面板中出現輸出信息3.
MonoBehaviour類
MonoBehaviour類是Unity中所有腳本的基類,所有腳本類均需要從它直接或間接繼承,定義了基本的腳本行為,還定義了對各種特定事件(如模型碰撞、鼠標移動)的響應方法。
幾個常用的必然事件函數:
Awake():腳本喚醒函數,腳本實例在創建時立刻調用,早于Start()調用;
Start():只在腳本實例被啟用時調用,位于Awake()函數之后,在第一次Update()函數執行前調用,通常用于游戲對象的初始化;
Update():每幀刷新時調用一次,用于更新游戲場景和狀態,大部分游戲代碼寫在此函數中;若游戲以每秒60幀的速度運行,則Update()將被調用60次;
FixedUpdate():固定更新函數,每個固定物理時間間隔調用一次,用于對象物理狀態的更新;
LateUpdate():延遲更新函數,每幀調用一次,在Update()之后,用于調整腳本執行順序,與相機有關的更新一般放在此函數中。4.GameObject類
GameObject類是Unity場景里面所有實體的基類。Unity中的所有實體都是游戲對象,如Unity自帶的球體、正方體等各種物體以及場景中使用的模型等。常用屬性有:
transform:附屬于此游戲對象上的Transform組件。;
tag:游戲對象的標簽;常用的靜態函數有:
GameObject.CreatePrimitive():創建一個帶有基本網格渲染器和相應碰撞器的游戲對象;
GameObject.Find():查找并返回指定名稱的游戲對象,若此游戲對象沒有被找到,則返回空。;
GameObject.FindWithTag():查找一個用tag做標識的活動的游戲對象,如果沒有找到則為空。 GameObject.Instantiate():克隆游戲對象并返回克隆對象。常用函數: gameObject.GetComponent():獲取指定的組件,如果沒有則為空 gamObject.AddComponent():添加一個組件到游戲對象 gameObject.SetActive():激活或停用此游戲對象5.Transform類
在Unity場景中的每一個游戲對象都有Transform組件,用于儲存并操控物體的位置Position、旋轉Rotation和縮放Scale。獲取游戲對象的位置:
transform.position:獲得物體在世界坐標系中的三維坐標值,保存在對象Vector3(x,y,z)中。
Vector3.right:表示X軸正方向,相當于Vector3(1,0,0);
Vector3.up:表示Y軸正方向,相當于Vector(0,1,0);
Vector.forward:表示Z軸正方向,相當于Vector3(0,0,1)。移動游戲對象:
transform.Translate(Vector3offset):將游戲對象按指定方向和距離移動。
相當于transform.position=transform.position+offset。
transform.Translate(Vector3,Space):Space代表坐標系,其中可使用Space.Self表示自身體系、Space.World表示世界體系。若Space省略不寫,則是指Space.Self??s放游戲對象:
Transform.localScale:自身縮放旋轉游戲對象
transform.Rotate():游戲對象按指定的歐拉角旋轉、自轉;
transform.RotateAround(point,axis,angle):游戲對象圍繞某個點旋轉。6. Input輸入類
Input是輸入系統的接口,使用Input類能夠讀取輸入管理器設置的按鍵,以及訪問移動設備的多點觸控或加速感應數據。獲取鼠標操作信息的常用函數:
Input.GetMouseButton():獲取鼠標按鍵狀態,返回true或false;當指定的鼠標按鍵被按下時返回true,其中0對應鼠標左鍵,1對應鼠標右鍵,2對應鼠標中鍵。。
Input.GetMouseButtonDown():獲取鼠標按鍵按下狀態,當用戶按下指定鼠標按鍵時的那一幀返回true。
Input.GetMouseButtonUp():獲取鼠標按鍵彈起狀態,當用戶釋放指定鼠標按鍵時的那一幀返回true。獲取鍵盤按鍵信息的常用函數:
Input.GetKey():獲取鍵盤按鍵狀態,當指定的鍵盤按鍵被用戶按住時返回true。
Input.GetKeyDown():獲取鍵盤按鍵按下信息,當用戶按下指定名稱的按鍵時的那一幀返回true。
Input
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國HVAC截止閥行業市場發展趨勢與前景展望戰略研究報告
- 淋巴結結節病個案護理
- 門面房招商方案
- 服務定價方案么(3篇)
- 景區物業水電服務方案
- 電力封堵施工方案
- 鐵路保護帽澆筑方案
- 灌木修剪技術方案
- 卸貨平臺加固方案
- 醫療外企職場管理方案
- 車輛掛名使用權轉讓與免責保障協議
- 2025年華僑港澳臺學生聯招考試英語試卷試題(含答案詳解)
- DL-T5706-2014火力發電工程施工組織設計導則
- JT-T 1495-2024 公路水運危險性較大工程專項施工方案編制審查規程
- GA 533-2005擋煙垂壁
- 復習課專題講座課件
- 提高人工氣道氣囊管理正確率品管圈匯報書模板課件
- 2023年景德鎮藝術職業大學輔導員招聘考試筆試題庫及答案解析
- 信號與系統思維導圖(所有內容)
- 藥物外滲嚴重后果以及處理
- 國家職業教育老年服務與管理專業教學資源庫
評論
0/150
提交評論