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

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

17

主题

209

帖子

1042

积分

Rank: 6Rank: 6Rank: 6

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

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

QQ截图20190926095729.png
4四处流浪
471/500
排名
9581
昨日变化

2

主题

86

帖子

471

积分

Rank: 4

UID
155434
好友
0
蛮牛币
95
威望
0
注册时间
2016-7-6
在线时间
265 小时
最后登录
2019-9-30
沙发
2019-9-26 10:55:10 只看该作者
调用这个方法的时候传入个委托事件就好了啊
6蛮牛粉丝
1042/1500
排名
5481
昨日变化

17

主题

209

帖子

1042

积分

Rank: 6Rank: 6Rank: 6

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

这样写没办法传递参数
7日久生情
2430/5000
排名
665
昨日变化

1

主题

237

帖子

2430

积分

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

UID
163577
好友
2
蛮牛币
2023
威望
0
注册时间
2016-8-22
在线时间
866 小时
最后登录
2019-10-14
地板
2019-9-26 15:52:35 只看该作者
getcomponent<Button>().onclick.addlistener(()=>
{
需要添加的方法(参数,参数。。。);
})
5熟悉之中
813/1000
排名
4618
昨日变化

22

主题

109

帖子

813

积分

Rank: 5Rank: 5

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

这样?
6蛮牛粉丝
1042/1500
排名
5481
昨日变化

17

主题

209

帖子

1042

积分

Rank: 6Rank: 6Rank: 6

UID
236132
好友
2
蛮牛币
2582
威望
0
注册时间
2017-8-6
在线时间
556 小时
最后登录
2019-10-12
6#
楼主 2019-9-26 16:03:57 只看该作者
本帖最后由 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熟悉之中
813/1000
排名
4618
昨日变化

22

主题

109

帖子

813

积分

Rank: 5Rank: 5

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

tmpBut.onClick.AddListener(()=>{TmpButEvent(action(strings));});
4四处流浪
449/500
排名
14231
昨日变化

0

主题

215

帖子

449

积分

Rank: 4

UID
209003
好友
0
蛮牛币
518
威望
0
注册时间
2017-2-28
在线时间
176 小时
最后登录
2019-10-13
8#
3 天前 只看该作者
用匿名委托
AddButtonLister(stirng name,()=>action(string str))
4四处流浪
449/500
排名
14231
昨日变化

0

主题

215

帖子

449

积分

Rank: 4

UID
209003
好友
0
蛮牛币
518
威望
0
注册时间
2017-2-28
在线时间
176 小时
最后登录
2019-10-13
9#
3 天前 只看该作者
Lavender丶Cc 发表于 2019-10-12 10:07
用匿名委托
AddButtonLister(stirng name,()=>action(string str))

写错了,不过大致意思一样
您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则