12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 22796|回复: 15
打印 上一主题 下一主题

[其他] Unity 4.6后新版GUI——uGUI中控件事件的写法

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-7-29 20:25:38 |只看该作者 |倒序浏览
除了在属性面板中手动给Button等添加事件外,终于搞定了用代码添加事件的方法。主要是手动添加太不方便了,而且代码方扩展、维护。创建Canvas、Button什么的在面板里。。。主要贴代码

using UnityEngine;
using System.Collections;
using UnityEngine.Events;//引用事件命名空间
using UnityEngine.UI;//引用UI命名空间

public class Test : MonoBehaviour
{
        // Use this for initialization
        void Start ()
    {
        //定义Action,并赋予delegate方法
        UnityAction<Button> btnActions = new UnityAction<Button>(onClick);
        //找到Button控件,并订阅事件
        Button btn = gameObject.GetComponent<Button>();
        btn.onClick.AddListener(btnActions);
        }

    void onClick(Object obj)
    {
        Debug.Log("button===========");
        Debug.Log("button-----------" + obj.name);
    }
}
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

ku 智囊团   

89

主题

2

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
25
精华
1

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-7-29 20:33:36 |只看该作者
现在不是4。5。2版本吗?
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-7-29 21:09:51 |只看该作者
Good to know  before release !
回复

使用道具 举报

115

主题

3

听众

5676

积分

高级设计师

Rank: 6Rank: 6

纳金币
7268
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-7-29 22:44:02 |只看该作者
Thanks for sharing !
回复

使用道具 举报

heise    

4

主题

3

听众

4249

积分

中级设计师

Rank: 5Rank: 5

纳金币
105
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2014-7-29 22:54:53 |只看该作者
现在不是4。5。2版本吗
回复

使用道具 举报

4

主题

2

听众

1742

积分

助理设计师

Rank: 4

纳金币
110
精华
0

活跃会员

6#
发表于 2014-8-14 14:59:47 |只看该作者
Learning .....
回复

使用道具 举报

0

主题

1

听众

38

积分

设计初学者

Rank: 1

纳金币
0
精华
0

活跃会员 灌水之王

7#
发表于 2014-8-14 15:52:39 |只看该作者
回复

使用道具 举报

0

主题

1

听众

180

积分

设计实习生

Rank: 2

纳金币
161
精华
0

最佳新人

8#
发表于 2014-8-24 12:17:01 |只看该作者
using UnityEngine;
using System.Collections;
using UnityEngine.Events;//引用事件命名空间
亲,为什么我也这么写写,他却报错了
Assets/Scripts/Fighting/FightBtShout.cs(14,29): error CS1503: Argument `#1' cannot convert `UnityEngine.Events.UnityAction<UnityEngine.UI.Button>' expression to type `UnityEngine.Events.UnityAction'


using UnityEngine.UI;//引用UI命名空间

public class FightBtShout : MonoBehaviour {

        // Use this for initialization
        void Start ()  {
                //定义Action,并赋予delegate方法
                UnityAction<Button> btnActions = new UnityAction<Button>(OnClick);
                //找到Button控件,并订阅事件
                Button btn = gameObject.GetComponent<Button>();
                btn.onClick.AddListener(btnActions);
        }
       



        void OnClick(Object obj){

                Debug.Log ("an");
         switch (obj.name)
                {
                case "BtshootOne":
                        Debug.Log("按钮一");
                        break;
                case "BtshootTwo":
                        Debug.Log("按钮一");
                        break;
                default:
                        Debug.Log("没有");
                        break;
                                }
        }
回复

使用道具 举报

100

主题

3

听众

7683

积分

高级设计师

Rank: 6Rank: 6

纳金币
2378
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2014-11-26 17:09:16 |只看该作者
涨姿势了。。。。。。。。。
回复

使用道具 举报

0

主题

2

听众

1346

积分

助理设计师

Rank: 4

纳金币
505
精华
0
10#
发表于 2014-11-26 17:26:17 |只看该作者
谢谢指导!  学习了
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-8-13 00:29 , Processed in 0.102665 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部