UGUI怎么动态的添加按钮的OnClick点击事件

UGUI怎么动态的添加按钮的OnClick点击事件,第1张

using UnityEngine

using System.Collections

using UnityEngine.UI

/// <summary>

/// 脚本位置:UGUI的按钮身上

/// 脚本功能:动态的添加按钮的点击事件

/// </summary>

public class ListenerTest : MonoBehaviour {

private Button button

void Start () {

button = GetComponent<Button>()

button.onClick.AddListener(

delegate() {

TestButtonClick testClick = GameObject.FindObjectOfType<TestButtonClick>()

testClick.OnClickButton()

}

)

}

}

[csharp] view plain copy

using UnityEngine

using System.Collections

/// <summary>

/// 脚本位置:摄像机身上

/// 脚本功能:当点击按钮的时候动态的添加此脚本上的OnClickButton方法

/// </summary>

public class TestButtonClick : MonoBehaviour {

// Use this for initialization

void Start () {

}

// Update is called once per frame

void Update () {

}

public void OnClickButton()

{

Debug.Log("已经成功监听按钮的点击事件")

}

}

如图,比方说我有一个函数,而我们需要点击按钮触发指定的函数,这就用到了绑定事件的方法。

如图,假定是点击事件,则在按钮里面添加onclick=函数名即可把函数绑定到按钮上。onclick绑定的是单击事件哦,当然还有很多其他的事件。

如图,绑定事件之后,当我们点击按钮即可触发绑定的函数,非常神奇哦。

当然,也可以给按钮设定一个ID,然后我们获取到带有ID的按钮。

然后在JavaScript中绑定事件也是可以的,这种方法代码比较多,想用哪种看你自己哦。

需要特别注意一点的是,如果用了第二种方法,当要获取id时,如果script脚本写在head里面,则要加上window.onload哦。如果是写在body后面,则不需要写window.onload。

如果你要添加客户端的onclick事件,可以用 HyperLink1.Attributes.Add("onclick","myclick()")这样的方法,如果你要添加服务器事件,那就错了,因为HyperLink没有Click这样的服务器事件,可以改用LinkButton。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存