Unity语法基础知识:1.实例化,2.给力,3.控制改变方向,4.销毁
@Unity语法基础知识:1.实例化,2.给力,3.控制改变方向,4.销毁
1.实例化命令:
用Instantiate(要生成的物体,生成的位置,生成物体的旋转角度)
检测鼠标左键(左CTRL) :
public GameObject projectile;
void Update() {
if (Input.GetButtonDown("Fire1"))
Instantiate(projectile, transform.position, transform.rotation) as GameObject;
}
2.给物体加力:
(1)public void AddForce(Vector3 force, ForceMode mode = ForceMode.Force);
世界坐标空间里的向量。添加到刚体的力
力仅应用于**的刚体。如果游戏对象未**,添加力无效果。
默认刚体是唤醒的。如果力的大小为0,那么刚体不被唤醒。
public class ExampleClass : MonoBehaviour {
public float thrust;
public Rigidbody rb;
void Start() {
rb = GetComponent<Rigidbody>();
}
void FixedUpdate() {
rb.AddForce(transform.forward * thrust);
}
}
(2)public void AddForce(float x, float y, float z, ForceMode mode = ForceMode.Force);
在世界坐标空间x轴力的大小。
在世界坐标空间y轴力的大小。
在世界坐标空间z轴力的大小。
添加到刚体的力。
力仅应用于**的刚体。如果游戏对象未**,添加力无效果。
默认刚体是唤醒的。如果力的大小为0,那么刚体不被唤醒。
3.转换方向:
Transform.TransformDirection 变换方向
right:左右;forward:前后;up:上下;
(1)Vector3 TransformDirection(Vector3 direction);
变换方向从局部坐标转换到世界坐标。
这个操作不会受到变换的缩放和位置的影响。返回的向量与direction有同样的长度。
例:
public Transform cam = Camera.main.transform;
public Vector3 cameraRelativeRight = cam.TransformDirection(Vector3.right);
void Example() {
rigidbody.AddForce(cameraRelativeRight * 10);
}
(2)Vector3 TransformDirection(float x, float y, float z);
变换方向x, y, z从局部坐标到世界坐标。
这个操作不会受到变换的缩放和位置的影响。返回的向量与direction有同样的长度。
例:
public Transform cam = Camera.main.transform;
public Vector3 cameraRelativeRight = cam.TransformDirection(1, 0, 0);
void Example() {
rigidbody.AddForce(cameraRelativeRight * 10);
}
4.销毁物体:
Destroy(Object obj, float t = 0.0F);
例:
// 5秒后销毁对象
Destroy (gameObject, 5);
上一篇: 24点问题_快手