Collision重写方法在物体上添加碰撞组件后可以使用
//在碰撞开始时调用一次
public void OnCollisionEnter(Collision other){}
//在碰撞过程中持续调用
public void OnCollisionStay(Collision other){}
//在碰撞结束后调用一次
public void onCollisionExit(Collision other){}
上诉代码中额other可以用来获取碰撞对象,假如我门现在又Cub1和Cub2,Cub1有碰撞C#脚本而Cub2没有那么不管是Cub1运动来碰撞Cub2或是Cub2运动来碰撞Cub1,永远能获取的对象都是Cub2
//假如利用碰撞来获取对象物体的name现在又Cub1,Cub2脚本在Cub1身上
public void OnCollisionEnter(Collision other)
{
print(other.gaeObject.name)
}
//此时不管谁碰撞谁都是输出Cub2
Trigger在碰撞组件中勾选了触发器选项就会使用这个方法
//碰撞开始调用一次
public void OnTriggerEnter(Collider other){}
//碰撞过程中持续调用
public void OnTriggerStay(Collider other){}
//碰撞结束调用一次
public void OnTriggerExit(Collider other){}
使用方法和Collision一样没有区别
Collision和Trigger的区别
Collision在使用上不需要去勾选触发器,直接使用且物体还能保持碰撞特性
Trigger必须在勾选了触发器之后才能使用且现在的碰撞组件子是没有碰撞特性
Mose碰撞
//在碰撞开始调用一次
public void OnMouseEnter(){}
//在碰撞过程中持续调用
public void OnMouseover(){}
//在碰撞结束后调用一次
public void OnMouseExit(){}
//在碰撞中鼠标按下触发一次
public void OnMouseDown(){}
//在鼠碰撞中鼠标抬起触发一次
public void OnMouseUp(){}
//在碰撞中鼠标完整点击一次触发一次
public void OnMouseUpAsButton(){}
//在碰撞中按下鼠标持续调用
public void onMouseDrag(){}
//因为碰撞对像是鼠标所以无法获取对象信息也就没有参数