四、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

四、Unity3D的输入控制、GameObject和Prefab_第1张图片

我们可以做一些设置

四、Unity3D的输入控制、GameObject和Prefab_第2张图片

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)
预制体相当于一个模版,例如可以将一个子弹模型存为一个预制体,实例化一个预制体就等于实例化一颗子弹。生成多个子弹时,只需要改变预制体的形状大小等就使得所有子弹同时改变了!

创建如下

四、Unity3D的输入控制、GameObject和Prefab_第3张图片

生成

Prefab

设置:将层级面板中的游戏物体拖动到上面的图标上即可

完成

或者直接拖动层级面板中的游戏物体到资源面板中也可快速创建预制体!

你可能感兴趣的:(U3D)