如何动态给EventDelegate添加参数

 我来答
云端科技
2016-01-18 · 互联网+技术解决方案服务商
云端科技
云端科技是一家专业从高端品牌网站建设、APP开发、软件定制开发服务的高新技术企业。为客户提供专业的电子商务技术解决方案、电子政务建设解决方案、移动互联应用开发。
向TA提问
展开全部
注意:参数必须是 公共 成员变量,不能是栈上的、或者私有的 (就是临时在函数里面定义的或者是函数的参数都不行)
using UnityEngine;
using System.Collections;

public class SZEventDelegateParams : MonoBehaviour {

public int param = 2;

void Start()
{
// 创建新的delegate,最后调用此(this)脚本的Finished函数。当然this可以换成别的脚本,这里为了方便
EventDelegate eventDelegate = new EventDelegate(this, "Finished");
// 把第一个参数设置为此(this)脚本的param变量。<span style="font-family: Arial; ">当然this可以换成别的脚本,这里为了方便</span>
eventDelegate.parameters[0] = new EventDelegate.Parameter(this, "param");

UIPlayTween uipt = this.GetComponent<UIPlayTween>();
uipt.onFinished.Add(eventDelegate);
uipt.Play(true);
}

// PlayTween 结束后,会调用到这里,打印相应的值
void Finished(int p)
{
Debug.Log(p.ToString());
}
}
day忘不掉的痛
2015-05-25 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223939
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部
using UnityEngine;
using System.Collections;

public class SZEventDelegateParams : MonoBehaviour {

public int param = 2;

void Start()
{
// 创建新的delegate,最后调用此(this)脚本的Finished函数。当然this可以换成别的脚本,这里为了方便
EventDelegate eventDelegate = new EventDelegate(this, "Finished");
// 把第一个参数设置为此(this)脚本的param变量。<span style="font-family: Arial; ">当然this可以换成别的脚本,这里为了方便</span>
eventDelegate.parameters[0] = new EventDelegate.Parameter(this, "param");

UIPlayTween uipt = this.GetComponent<UIPlayTween>();
uipt.onFinished.Add(eventDelegate);
uipt.Play(true);
}

// PlayTween 结束后,会调用到这里,打印相应的值
void Finished(int p)
{
Debug.Log(p.ToString());
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式