u3d001打砖块_学习记录

主要内容:

1.预制体prefab实例化
2.物体变速移动
3.物体坐标移动
4.获得鼠标点击
5.获取键盘按键

主要代码:

        //点击发射子弹

        if(Input.GetMouseButtonDown(0)){//0代表鼠标左键按下

            GameObject b= GameObject.Instantiate(zidan,transform.position,transform.rotation);

            //实例化预制体prefab,位置,旋转角度

            Rigidbody rbd = b.GetComponent<Rigidbody>();//获得刚体组件

            rbd.velocity=transform.forward *ld;//方向*加力 = new vector3(,,,)*id;

        }

        

        //相机左右移动

        float h = Input.GetAxis("Horizontal");//获取键盘操作

        transform.Translate(new Vector3(h,0,0)*Time.deltaTime*sd);//平移(方向*距离)

操作获取:

Input.GetMouseButtonDown(0)
按钮值设定为 0对应左键 , 1对应右键 , 2对应中键。返回bool

Input.GetAxis("Horizontal");//获取键盘操作

api:根据axisName名称返回虚拟输入轴中的值。
开发手册上有相关解释,但说得很不清楚,看完也不懂,下面给出详细的解释。 
根据输入设备,参数分为两类: 

一、触屏类 
  1、Mouse X 鼠标沿屏幕X移动时触发 
  2、Mouse Y 鼠标沿屏幕Y移动时触发 
  3、Mouse ScrollWheel 鼠标滚轮滚动是触发 
二、键盘类 
  1、Vertical 键盘按上或下键时触发 
  2、Horizontal 键盘按左或右键时触发 

返回值是一个数,正负代表方向1,-1

移动方式: 

控速移动:
[瞬间变成指定方向移动的速度]

rbd.velocity=transform.forward *ld;//方向*加力 = new vector3(,,,)*id;

Vector3.forward只不过是Vector3(0,0,1)的缩写,

Rigidbody.velocity 速度
transform.forward 是物体的z轴,但是vector3.forward是世界坐标的z轴
Rigidbody.velocity 速度
transform.forward 是物体的z轴,但是vector3.forward是世界坐标的z轴

坐标移动:
[控制坐标强制移动]

 transform.Translate(new Vector3(h,0,0)*Time.deltaTime*sd);//平移(方向*距离)

如果relativeTo留空或者设置为Space.Self,移动被应用相对于变换的自身轴。(当在场景视图选择物体时,x、y和z轴显示)如果相对于Space.World 移动被应用相对于世界坐标系统。 

功能方法:

实例化预制体:

GameObject b= GameObject.Instantiate(zidan,transform.position,transform.rotation);

            //实例化预制体prefab,位置,旋转角度


组件获取:

Rigidbody rbd = b.GetComponent<Rigidbody>();//获得刚体组件

猜你喜欢

转载自blog.csdn.net/qq_40346899/article/details/80861330
今日推荐