unity中的委托事件在按钮上怎么用

unity中的委托事件在按钮上怎么用,第1张

//先定义委托  参数列表根据自己的实际需要来定义

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首字母要大写


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11690283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存