四、Unity3D的輸入控制、GameObject和Prefab

1、Input也是隻讀屬性的類

  • 鍵盤控制(返回bool值)
    • Input.GetKey( “a” );
      Input.GetKey ( KeyCode.A );
      都表示判斷鍵盤”A”鍵是否持續按下的狀態
    • Input.GetKeyDown()//只判斷按下的那一幀
    • Input.GetKeyUp()//只判斷擡起的那一幀
  • 鼠標控制
    • Input.GetMouseButton( 0 );
      Input.GetMouseButtonDown( 1 );
      Input.GetMouseButtonUp(2 );
      0:表示鼠標左鍵
      1:表示鼠標右鍵
      2:表示鼠標中鍵
  • 軸值控制(返回軸值,取值範圍-1~1,默認0)
    • Input.GetAxis ( “Horizontal” );//獲取水平軸值(←、→、A、D)
    • Input.GetAxis ( “Vertical” );//獲取垂直軸值(↑、↓、W、S)
  • 功能鍵
    • Input.GetButton(“Fire1”);//左Ctrl
    • Input.GetButton(“Fire2”);//左Alt

Input面板在菜單欄Edit-Project Settings-Input

input

我們可以做一些設置

設置

2、GameObject

GameObject也是隻讀屬性的類,父類是Object!

  • 實例化
    • Instantiate (obj);
  • 銷燬
    • Destroy( obj );//下一幀進行銷燬
    • DestroyImmediate( obj );//Update以及LateUpdate之後進行銷燬
  • “.”出的東西(區分大小寫!)
    • gameObject.name//遊戲物體的名字
    • GameObject.Find(name);//根據名字獲取遊戲物體
    • GameObject[] objs = FindGameObjectsWithTag( “Enemy” );//根據標籤獲取所有該類型的物體
      -GameObject.CreatePrimitive( PrimitiveType.Cube );//創建基本幾何體
      gameObject.AddComponent< Light >();//給遊戲物體掛上組件
    • -

3、預製體(Prefab)
預製體相當於一個模版,例如可以將一個子彈模型存爲一個預製體,實例化一個預製體就等於實例化一顆子彈。生成多個子彈時,只需要改變預製體的形狀大小等就使得所有子彈同時改變了!

創建如下

創建

生成

Prefab

設置:將層級面板中的遊戲物體拖動到上面的圖標上即可

完成

或者直接拖動層級面板中的遊戲物體到資源面板中也可快速創建預製體!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章