找回密码
 注册帐号

扫一扫,访问微社区

脚本 请教一个按钮关联带参数方法的问题

6
回复
39
查看
打印 上一主题 下一主题
[ 复制链接 ]
6蛮牛粉丝
1019/1500
排名
5480
昨日变化

17

主题

207

帖子

1019

积分

Rank: 6Rank: 6Rank: 6

UID
236132
好友
2
蛮牛币
2553
威望
0
注册时间
2017-8-6
在线时间
535 小时
最后登录
2019-9-27
10蛮牛币
我需要写一个方法 方法的两个参数是 按钮的名字和关联的方法  但是这么写的话调用的时候方法没办法传参,请问这应该怎么写?

QQ截图20190926095729.png (23.82 KB, 下载次数: 0)

QQ截图20190926095729.png
回复

使用道具 举报

4四处流浪
468/500
排名
9580
昨日变化

2

主题

85

帖子

468

积分

Rank: 4

UID
155434
好友
0
蛮牛币
92
威望
0
注册时间
2016-7-6
在线时间
264 小时
最后登录
2019-9-27
沙发
昨天 10:55 只看该作者
调用这个方法的时候传入个委托事件就好了啊
回复

使用道具 举报

6蛮牛粉丝
1019/1500
排名
5480
昨日变化

17

主题

207

帖子

1019

积分

Rank: 6Rank: 6Rank: 6

UID
236132
好友
2
蛮牛币
2553
威望
0
注册时间
2017-8-6
在线时间
535 小时
最后登录
2019-9-27
板凳
楼主 昨天 10:57 只看该作者
Hi想念 发表于 2019-9-26 10:55
调用这个方法的时候传入个委托事件就好了啊

这样写没办法传递参数
回复

使用道具 举报

7日久生情
2420/5000
排名
664
昨日变化

1

主题

237

帖子

2420

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
163577
好友
2
蛮牛币
2037
威望
0
注册时间
2016-8-22
在线时间
856 小时
最后登录
2019-9-26
地板
昨天 15:52 只看该作者
getcomponent<Button>().onclick.addlistener(()=>
{
需要添加的方法(参数,参数。。。);
})
回复

使用道具 举报

5熟悉之中
792/1000
排名
4616
昨日变化

21

主题

108

帖子

792

积分

Rank: 5Rank: 5

UID
140540
好友
0
蛮牛币
1184
威望
0
注册时间
2016-3-15
在线时间
345 小时
最后登录
2019-9-27
5#
昨天 15:57 只看该作者
[C#] 纯文本查看 复制代码
tmpBut.onClick.AddListener(()=>{TmpButEvent(param,param1,param2);});

这样?
回复

使用道具 举报

6蛮牛粉丝
1019/1500
排名
5480
昨日变化

17

主题

207

帖子

1019

积分

Rank: 6Rank: 6Rank: 6

UID
236132
好友
2
蛮牛币
2553
威望
0
注册时间
2017-8-6
在线时间
535 小时
最后登录
2019-9-27
6#
楼主 昨天 16:03 只看该作者
本帖最后由 LLzj 于 2019-9-26 16:06 编辑
幸运石 发表于 2019-9-26 15:57
[mw_shl_code=csharp,true]tmpBut.onClick.AddListener(()=>{TmpButEvent(param,param1,param2);});[/mw_sh ...

public void AddButtonLister<T>(string butName, UnityAction<string> action, string strings)
    {
        Button tmpBut = transform.Find(butName).GetComponent<Button>();

        if (tmpBut != null)
        {
            print(tmpBut.name + "事件添加成功");
            tmpBut.onClick.AddListener(delegate () { action(strings); });
        }
    }  这样就行了 这样写比较方便 Awake直接调用这个方法就能直接把按钮和事件关联了 ,需要什么参数直接写重载就行了
回复

使用道具 举报

5熟悉之中
792/1000
排名
4616
昨日变化

21

主题

108

帖子

792

积分

Rank: 5Rank: 5

UID
140540
好友
0
蛮牛币
1184
威望
0
注册时间
2016-3-15
在线时间
345 小时
最后登录
2019-9-27
7#
昨天 16:13 只看该作者
LLzj 发表于 2019-9-26 16:03
public void AddButtonLister(string butName, UnityAction action, string strings)
    {
        Butt ...

tmpBut.onClick.AddListener(()=>{TmpButEvent(action(strings));});
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则