给NGUI上的预设体动态添加点击事件

本文深入探讨了NGUI与UGUI在事件监听方面的差异与应用,包括使用boxcollider、按钮脚本、按钮消息等进行事件处理的方法,并详细解释了两者在事件触发与响应机制上的不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1.

首先那个NGUI上的预设体上必须有boxcollider   ,预设上的脚本只需挂上一个点击的脚本就行了

可以用NGUI的 void OnClick(){ dosomething }

另外一个按下事件  void OnPress(bool ispressed){dosomething}

方法2.

通过给预设上加个UIButtonMessage脚本(NGUI自带的)这个类  有三个参数,一个是点击的target   ,一个是FunctionName,

可以通过 :

UIButtonMessage message;

void Start(){

message = GetComponent<UIButtonMessage>();

message.FunctionName = "OnClickBtn";

void OnClickBtn(GameObject  go)

{

dosomething();

}

}

  UGUI 和NGUI事件监听的差异
UGUI 
Button startButton = GameObject.Find ("StartButton"). GetComponent<Button>();
        startButton.onClick .AddListener(() => {
                              Manager. Game();
                    });//() =>{Manager.Game()}也可以直接换成方法名
NGUI     UIEventTrigger     UIEventListener

OnPress方法只适合用于屏幕检测
UIEventListener .Get(attackButton). onPress = OnAttackPress ;
 void OnAttackPress(GameObject attackButton, bool isPressed )
    {
          if(isPressed){
               //执行某件事
          }
     }

    public GameObject btn ;
           void Start () {

        UIEventListener.Get (btn). onClick = OnClickBtn ;
          }

    void OnClickBtn(GameObject btn)
    {
        doSomething();
    }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值