今天主要学习了组件的使用,看了几节关于控制游戏物体旋转,游戏物体碰撞检测的视频,并熟悉了其中几个API
1. RigidBody: 重力感应组件,可以让游戏物体拥有物理特性
2. Transform: 管理物体位移,旋转,移动控制等,MonoBehaviour中unity已经封装好了transform对象,添加自旋转代码如下:
void Update () {
transform.Rotate(new Vector3(0,1,0));
}
3. onCollisionEnter: 碰撞检测,两个GameObject发生碰撞的时候触发的回调方法,由unity自动触发,使用如下:
using UnityEngine;
using System.Collections;public class ExampleClass :MonoBehaviour {
AudioSource audioSource;void Start() {
audioSource = GetComponent<AudioSource>();
}void OnCollisionEnter(Collision collision) {
foreach (ContactPointcontact in collision.contacts) {
Debug.DrawRay(contact.point, contact.normal,Color.white);
}if (collision.relativeVelocity.magnitude > 2)
audioSource.Play();
}
}
}
4.游戏物体对象销毁,可以通过collision对象获取碰撞到物体的GameObject,调用Destory函数销毁:
void OnCollisionEnter(Collision collision) {
string name = collision.collider.name;
if (name == "zj") {
Destroy(collision.collider.gameObject);
}
}