如何动态给EventDelegate添加参数
2个回答
2016-02-05 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
给EventDelegate添加参数方法:
注意:参数必须是公共成员变量,不能是栈上的、或者私有的(就是临时在函数里面定义的或者是函数的参数都不行)
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变量。当然this可以换成别的脚本,这里为了方便
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());
}
}
注意:参数必须是公共成员变量,不能是栈上的、或者私有的(就是临时在函数里面定义的或者是函数的参数都不行)
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变量。当然this可以换成别的脚本,这里为了方便
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());
}
}
2015-08-03 · 知道合伙人软件行家
关注
展开全部
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());
}
}
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());
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询