c#實驗報告5人物旋轉_第1頁
c#實驗報告5人物旋轉_第2頁
c#實驗報告5人物旋轉_第3頁
c#實驗報告5人物旋轉_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗報告課程名稱:c#程序設計案例教程姓 名:龔文淵班 級:數媒17101實驗地點:信息樓A101實驗日期:2019.10.14指導教師:實驗題目實驗五班級數媒17101指導教師姓名龔文淵實驗地點信息樓A101實驗日期2019.10.14實驗目的1、通過按鍵實現:a.用transform 方法實現,要求按 w向上移動,按 c向左移動,按x向右移動,其它參數自定。b. 用charactercontroller方法實現,水平移動和垂直方向的移動。2、通過鍵盤實現物體的旋轉,用 rotate 方法實現。 案例:地球圍繞太陽旋轉。2、通過按下鍵盤按鍵實現游戲物體的復制和銷毀。2、 實驗環(huán)境及器材(軟件

2、、硬件環(huán)境及所需實驗材料)1. 實驗環(huán)境:MicrosoftVisualStudio20102. 器材:電腦;3、 實驗內容及步驟1、實驗代碼: (1)實現物體移動: using System.Collections; using System.Collections.Generic; using UnityEngine;public class position : MonoBehaviour /用來獲取角色控制器 CharacterController 組件 private CharacterController cc;/定義一個公開的float類型的速度值,初始值為 2 public f

3、loat speed = 2;void Start () /CharacterController的初始化,把 CharacterController組件賦值給 cccc = this .GetComponent< CharacterController >();void Update () /*/按壓w, s鍵,物體分別向上、向下移動if(Input.GetKey(KeyCode.W)transform.Translate(Vector3.up * speed * Time.deltaTime); /開始是幀每秒,乘以 Time算出來的是m"sif (Input.Get

4、Key(KeyCode.S)transform.Translate(Vector3.down * speed * Time.deltaTime); /開始是幀每秒,乘以Time算出來的是m"s*/定義一個float類型的值,用來接收x水平方向的坐標 float h = Input .GetAxis( "Horizontal");/定義一個float類型的值,用來接收垂直方向上的坐標 float v = Input .GetAxis( "Vertical");/用來判斷按鍵是否按下,按下則移動,否則不移動if ( Mathf .Abs(h)>

5、;0.01f | Mathf .Abs(v)>0.01f)/新建一個三維目標對象,初始坐標為h, 0, vVector3 mubiao = new Vector3 (h,0,v);/目標朝向transform.LookAt, 開始位置加朝向位置 transform.LookAt(mubiao + transform.position);/應該是控制目標移動朝向?cc.SimpleMove(transform.forward);(2)實現地球物體的旋轉與繞太陽的旋轉: using System.Collections;using System.Collections.Generic;usi

6、ng UnityEngine;public class earth : MonoBehaviour private Transform sun;public float speed = 100f;/ Use this for initializationvoid Start () sun = GameObject.Find( "sun" ).transform; / Update is called once per framevoid Update () /控制角色進行旋轉(這里旋轉的是earth球體)transform.Rotate( Vector3 .up * spe

7、ed * Time.deltaTime);gameObject.transform.Rotate(new Vector3(0,1,0),Input.GetAxis("Horizontal");表示按卜左右鍵圍繞Yl由旋轉 transform.RotateAroundLocal()與transform.RotateAround的區(qū)另U? ?/(Vector3.zero,Vector3.up, 20 *Time.deltaTime)圍繞世界坐標原點,每秒20度物體自旋transform.RotateAround(sun.transform.position,Vector3 .u

8、p, 30 * Time.deltaTime);(3)實現太陽物體的旋轉: using System.Collections;using System.Collections.Generic;using UnityEngine;public class sun : MonoBehaviour public float speed = 100f; void Start() /Update is called once per frame void Update () /控制角色進行旋轉(這里旋轉的是 sun球體)transform.Rotate( Vector3 .up* speed * Tim

9、e.deltaTime);(4)實現人物的復制和銷毀: using System.Collections; using System.Collections.Generic; using UnityEngine;public class copy : MonoBehaviour /定義一個人物物體public GameObject people;/ Update is called once per frame void Update () /如果按下c鍵進行復制,如果 GetKey的話,會復制一堆 if (Input .GetKeyDown( KeyCodeC)/調用Instantiate 函數,對物體進行復制 Instantiate(people);if ( Input .GetKeyDown( KeyCodeV) /調用Destroy函數,對物體進行銷毀(第一個參數是要銷毀的物體,第二個參數是隔幾秒進 行銷毀)/這樣也行,會進行直接銷毀Destroy(pe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論