开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

问答求助

关注:441

当前位置:游戏蛮牛 技术专区 问答求助

_____________________________________________________________________________________________________________
问答求助版块规则:

  1、问题尽量描述清楚
      2、代码要放在代码块里
      3、附件最好放到云盘,然后把链接放到TXT文档里,上传TXT文档。【最好没有附件,你懂得】
      4、本版块回复不得无意义,如:顶、呵呵、不错......以及擦边!【真的会扣分的哦】严重者,封IP!
      5、问题得到解决,请选择最佳答案。
      6、若问题是你自己解决了,可以联系管理员,返还蛮牛币,写下你的答案,另有蛮牛币奖赏。
_____________________________________________________________________________________________________________
查看: 812|回复: 14

[脚本] 代码添加button事件,怎么传参数

[复制链接]  [移动端链接]
3偶尔光临
277/300
排名
6506
昨日变化
52

7

主题

42

帖子

277

积分

Rank: 3Rank: 3Rank: 3

UID
149679
好友
0
蛮牛币
202
威望
0
注册时间
2016-5-24
在线时间
88 小时
最后登录
2017-7-27
发表于 2017-5-18 11:40:39 | 显示全部楼层 |阅读模式
5蛮牛币
RepairEvent我想写一个带参数的函数,但是这个AddListener不支持带参数的函数,有什么方法解决吗
QQ截图20170518113827.png

本帖被以下淘专辑推荐:


回复

使用道具 举报

5熟悉之中
650/1000
排名
11570
昨日变化
11

23

主题

260

帖子

650

积分

Rank: 5Rank: 5

UID
74942
好友
1
蛮牛币
201
威望
0
注册时间
2015-2-15
在线时间
333 小时
最后登录
2017-7-28
发表于 2017-5-18 11:40:40 | 显示全部楼层
  GetComponent<UnityEngine.UI.Button>().onClick.AddListener(delegate { OnClick(gameObject); });

回复

使用道具 举报

3偶尔光临
277/300
排名
6506
昨日变化
52

7

主题

42

帖子

277

积分

Rank: 3Rank: 3Rank: 3

UID
149679
好友
0
蛮牛币
202
威望
0
注册时间
2016-5-24
在线时间
88 小时
最后登录
2017-7-27
 楼主| 发表于 2017-5-18 11:43:20 | 显示全部楼层
Item.FindChild("repair").GetComponent<Button>().onClick.AddListener(RepairEvent);
我是这样添加事件的,有其他方式吗,这样添加好像不能传参数,好像unity写死的

回复

使用道具 举报

9以坛为家
16662/50000
排名
1456
昨日变化
6

50

主题

1万

帖子

1万

积分

Rank: 9Rank: 9Rank: 9

UID
78862
好友
6
蛮牛币
30621
威望
0
注册时间
2015-3-11
在线时间
1222 小时
最后登录
2017-7-28
QQ
发表于 2017-5-18 12:23:27 来自Mobile--- | 显示全部楼层
你看看这个,四种方式:http://www.cnblogs.com/isayes/p/6370168.html,代码添加的都没有参数,如果要传参就事先添加好啊

回复

使用道具 举报

3偶尔光临
277/300
排名
6506
昨日变化
52

7

主题

42

帖子

277

积分

Rank: 3Rank: 3Rank: 3

UID
149679
好友
0
蛮牛币
202
威望
0
注册时间
2016-5-24
在线时间
88 小时
最后登录
2017-7-27
 楼主| 发表于 2017-5-18 13:03:20 | 显示全部楼层
lilexy 发表于 2017-5-18 12:23
你看看这个,四种方式:http://www.cnblogs.com/isayes/p/6370168.html,代码添加的都没有参数,如果要传参 ...

我的问题就是代码添加传参函数事件,你这个链接没写这个问题啊
[发帖际遇]: zzzsss 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

9以坛为家
16662/50000
排名
1456
昨日变化
6

50

主题

1万

帖子

1万

积分

Rank: 9Rank: 9Rank: 9

UID
78862
好友
6
蛮牛币
30621
威望
0
注册时间
2015-3-11
在线时间
1222 小时
最后登录
2017-7-28
QQ
发表于 2017-5-18 13:03:55 来自Mobile--- | 显示全部楼层
传参估计是实现不了

回复

使用道具 举报

7日久生情
1882/5000
排名
853
昨日变化
2

2

主题

140

帖子

1882

积分

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

UID
64697
好友
1
蛮牛币
5210
威望
0
注册时间
2014-12-30
在线时间
810 小时
最后登录
2017-7-28
发表于 2017-5-18 13:27:03 | 显示全部楼层
不知道你要干啥,,给你个损招,,,,,,,,,,,,,
弄个纯数据角本,,,,,,,,,,,和button事件角本同时挂到某物上,,,,,,,,,,

onclick时得到自己所在物的这个角本,读出一切

回复

使用道具 举报

排名
20555
昨日变化
11

21

主题

97

帖子

323

积分

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

UID
156801
好友
2
蛮牛币
533
威望
0
注册时间
2016-7-15
在线时间
159 小时
最后登录
2017-7-25
发表于 2017-5-18 13:57:46 | 显示全部楼层
善良的农民 发表于 2017-5-18 13:42
GetComponent().onClick.AddListener(delegate { OnClick(gameObject); });

正解!!!!!!!

回复

使用道具 举报

3偶尔光临
277/300
排名
6506
昨日变化
52

7

主题

42

帖子

277

积分

Rank: 3Rank: 3Rank: 3

UID
149679
好友
0
蛮牛币
202
威望
0
注册时间
2016-5-24
在线时间
88 小时
最后登录
2017-7-27
 楼主| 发表于 2017-5-18 15:15:50 | 显示全部楼层
善良的农民 发表于 2017-5-18 13:42
GetComponent().onClick.AddListener(delegate { OnClick(gameObject); });

棒棒的,匿名方法确实可以

回复

使用道具 举报

9以坛为家
16662/50000
排名
1456
昨日变化
6

50

主题

1万

帖子

1万

积分

Rank: 9Rank: 9Rank: 9

UID
78862
好友
6
蛮牛币
30621
威望
0
注册时间
2015-3-11
在线时间
1222 小时
最后登录
2017-7-28
QQ
发表于 2017-5-18 16:25:56 来自Mobile--- | 显示全部楼层
善良的农民 发表于 2017-5-18 11:40
GetComponent().onClick.AddListener(delegate { OnClick(gameObject); });

不错,很厉害哦

回复

使用道具 举报

5熟悉之中
502/1000
排名
4057
昨日变化
1

3

主题

64

帖子

502

积分

Rank: 5Rank: 5

UID
116481
好友
0
蛮牛币
769
威望
0
注册时间
2015-8-3
在线时间
173 小时
最后登录
2017-7-28
发表于 2017-5-18 20:53:16 | 显示全部楼层

Item.FindChild("repair").GetComponent<Button>().onClick.AddListener(()=>RepairEvent(参数));

回复

使用道具 举报

5熟悉之中
867/1000
排名
2388
昨日变化
8

0

主题

94

帖子

867

积分

Rank: 5Rank: 5

UID
132507
好友
0
蛮牛币
1376
威望
0
注册时间
2015-12-24
在线时间
329 小时
最后登录
2017-7-27
发表于 2017-5-19 08:59:08 | 显示全部楼层
()=>{A(参数);};

回复

使用道具 举报

5熟悉之中
902/1000
排名
4124
昨日变化
18

6

主题

416

帖子

902

积分

Rank: 5Rank: 5

UID
83438
好友
1
蛮牛币
1111
威望
0
注册时间
2015-3-23
在线时间
220 小时
最后登录
2017-7-28
发表于 2017-5-19 09:23:12 | 显示全部楼层
为啥要加参数 在onclick里面要传不同数值吗? Eventtargs好像是这么写的话 好像能用

回复

使用道具 举报

5熟悉之中
972/1000
排名
2159
昨日变化
6

0

主题

118

帖子

972

积分

Rank: 5Rank: 5

UID
133757
好友
0
蛮牛币
2532
威望
0
注册时间
2016-1-6
在线时间
364 小时
最后登录
2017-7-28
发表于 2017-5-19 13:44:00 | 显示全部楼层
[C#] 纯文本查看 复制代码
Btn_Select.onClick.AddListener (delegate() {Fun (0);});

public void Fun(int ID)
{

}
		

回复

使用道具 举报

7日久生情
2810/5000
排名
250
昨日变化
1

0

主题

568

帖子

2810

积分

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

UID
35380
好友
2
蛮牛币
1853
威望
0
注册时间
2014-7-20
在线时间
754 小时
最后登录
2017-7-28
QQ
发表于 2017-5-22 10:19:32 | 显示全部楼层
一般最简便用delegete,
{
string b = "boo";
addlistener(deleget {run(b);})
}

void run(string b)
{

}
这样就可以添加参数了呀。。。
[发帖际遇]: vison 乐于助人,奖励 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表