public delegate void MyDelegate(GameObject go)
//然后根据委托定义事件
public event MyDelegate myEvent
void Start()
{
//假设你使用的NGUI,按钮为游戏对象本身
UIEventListener.Get(this.gameobject).onClick = ButtonClick
}
void ButtonClick(GameObject go)
{
myEvent(go)
}
这里就已经完成点击按钮发送myEvent事件了,在其他的脚本中订阅该事件并提供相应方法即可
if (GUI.Button (new Rect (310, 10, 80, 30), "暂停") )这个是点击button才产生的事件,也就是下面那个窗口只显示了一瞬间,所以没看到。
如果你想实现点击一下窗口出来,再点击一下窗口消失,就需要添加一个bool值。
1
2
3
4
5
6
7
8
9
10
11
12
13
public bool WindowShow = false
void OnGUI()
{
if (GUI.Button (new Rect (310, 10, 80, 30), "暂停") )
{
if (WindowShow)
WindowShow = false
else
WindowShow = true
}
if(WindowShow)
GUI.Window (0, windowPos, mywindow, "暂停窗口")
}
最严重的问题:C#里面不能在方法里面再定义方法(表达式除外),你这里update怎么定义在OnTriggerEnter2D里面了。
MonoBehaviour生命周期函数Update首字母要大写
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)