歡迎來到unity學習、unity培訓、unity企業培訓教育專區,這里有很多U3D資源、U3D培訓視頻、U3D教程、U3D常見問題、U3D項目源碼,我們致力於打造業內unity3d培訓、學習第一品牌。
Unity中的事件機制封裝的並不是特別好,如果學過AS3的,會發現再也沒有比AS3封裝的更完美的了,包括事件機制用起來都是那么的完美。步入正題:
首先創建一個類,比如MyClass,在MyClass中定義代理:
public delegate void ColorChangeEventHandler(Color c, string Tag);
public event ColorChangeEventHandler OnColorChangeEvent;
如果在MyClass中調用了OnColorChangeEvent,又想讓其他類也接收到此消息,可以在希望接收到此消息到類中添加該代理到具體實現方法,比如:
ColorPicker=GameObject.Find("RTColorPicker").GetComponent<MyClass>();
ColorPicker.OnColorChangeEvent += OnColorChange;
void OnColorChange(Color rgbColor, string tagStr)
{
}
Unity3D 獲取兩個碰撞器的碰撞點
public virtual void DoCollisionEnter(Collision pOther)
{
ContactPoint contact = pOther.contacts[0];
Quaternion rot = Quaternion.FromToRotation(Vector3.up, contact.normal);
Vector3 pos = contact.point; //這個就是碰撞點
Instantiate(MeteorLightPrefab, pos, rot) ; //在碰撞點產生爆炸火焰
}
更多精彩請點擊 http://www.gopedu.com/
