iTween的回调 对oncompletetarget的理解

18 篇文章 0 订阅
17 篇文章 0 订阅
做个测试,对一个对象同时做2个MoveTo操作,都在完成缓动后回调打印信息。结果是只会打印onComplete222()里的信息。


void testTween()
{
	GameObject obj = new GameObject();
	iTween.MoveTo(obj, iTween.Hash("x", 10, "oncomplete","onComplete111","oncompletetarget",gameObject));
	iTween.MoveTo(obj, iTween.Hash("y", 20, "oncomplete","onComplete222","oncompletetarget",gameObject));
}
void onComplete111()
{
	Debug.Log("onComplete111");
}
void onComplete222()
{
	Debug.Log("onComplete222");
}



在iTween里传递的oncomplete的参数是字符串形式,回调时会从oncompletetarget指定的对象里找oncomplete指定的函数。iTween不是保存的引用关系,不管多少个缓动一起播放最终只能回调其中一个。


对于oncompletetarget参数,这个参数很重要。如果不指定该参数,回调时回去缓动对象obj里去找oncomplete指定的函数,如果像上面那样回调方法在obj外,则需要指定有这个oncomplete函数的对象,看看文档里的解释:
A <see cref="GameObject"/> for a reference to the GameObject that holds the "oncomplete" method.


这是两个坑爹的地方,不小心很容易掉进去。
加上之前遇到的如果对象隐藏,回调也不会执行到,目前2.0版本的iTween只是完成了基本的功能,但并不够强大,而对于这些问题也没有明确的解释,不如greensock做的好。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值