首页 > Unity3D频道 > 【你好Unity3D】 > #你好Unity3D#iTween 和 Gokit(来自我的长微博)
2014
06-03

#你好Unity3D#iTween 和 Gokit(来自我的长微博)

iTween很流行,但是需要写一堆回调方法,而且参数都是string没有代码提示。写完以后会发现你的代码非常的丑,我觉得GoKit真得要比iTween更好用一些。(点击大图查看详情)

 

iTween“二宗罪”

  1. 大量使用SendMessage,先不说效率如何你需要去写对应的方法去接收它的回调。比如你要监听物体移动结束的事件,那么你就要写一个方法去接收它,这样代码会很难看。
  2. iTween的参数都是string,你需要自己去拼一个Hashtable,字符串谁能都记住呀?每次写都要去它的官网上去查字符串怎么拼,挺蛋疼的!

 

先上一段iTween的代码

 

这里监听了一个移动完成的事件,你就需要去拼字符串,然后在拼回调的方法。如果你监听的事件比较多,那么参数很难都记住,写起来是不是很郁闷?

 

 

在上一段GoKit的代码

 

 

 

使用config.方法名就直接可以监听某个事件,而且直接在方法体内就能接收回调事件,这样代码会很漂亮。万全不用像iTween那么样,config点一下就能出来你需要的方法,很方便。。 有时间了我在做一个详细的GoKit的案例。

 

iTween和GoKit都是免费的,在unity 的AssetStore上就能搜索到。

 

昨天看WWCD,看到3点多,现在晕乎乎的,晚安。么么

欢迎关注雨松MOMO的微博

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

  1. itween偶尔会出现很坑爹的BUG,有时候会把两个回调函数搞错,而且不是必现。大概运行10次出现1次,被这个BUG坑惨了。。结果只能换掉itween

  2. itween moveto使用path,speed的时候,路经点距离不均匀,造成移动速度不一样。这个要怎么解决?而且不知道为什么Hotween、 LeanTween、GoKit 都不支持speed 的选项。导致不得不选择itween。

  3. iTween在PC上面还可以玩玩,到了手机不堪负重,我只好抽取其中的方法分开使用了。HOTween还需要等等。另外第二个缺点是不存在的,因为每个函数都有详细的注释,看注释就可以了

  4. 跪求答案!急寻中。。。momo,你好,问你个gokit的东西。我像下面这样写为什么不能让它从0跑到100去?public int from = 0;void Start() {Go.to(this, 2, new GoTweenConfig().intProp(“from”, 100, true).setEaseType(GoEaseType.Linear).setIterations(1));}我用HoTween这样写就可以跑的。。如下://TweenParms tweenParms = new TweenParms().Prop(“from”, 100).Ease(EaseType.Linear).Loops(1, LoopType.Yoyo);//HOTween.To(this, 1, tweenParms);

  5. momo,你好,问你个gokit的东西。我像下面这样写为什么不能让它从0跑到100去?public int from = 0;void Start() {Go.to(this, 2, new GoTweenConfig().intProp(“from”, 100, true).setEaseType(GoEaseType.Linear).setIterations(1));}我用HoTween这样写就可以跑的。。如下://TweenParms tweenParms = new TweenParms().Prop(“from”, 100).Ease(EaseType.Linear).Loops(1, LoopType.Yoyo);//HOTween.To(this, 1, tweenParms);

  6. Hello,momo,你好,问你个gokit的东西。我像下面这样写为什么不能让它从0跑到100去?int from = 0; void Start() { Go.to(this, 2, new GoTweenConfig(). intProp(“from”, 100, true). setEaseType(GoEaseType.Linear). setIterations(1)); }我用HoTween这样写就可以跑的。如下://TweenParms tweenParms = new TweenParms().Prop(“from”, 100).Ease(EaseType.Linear).Loops(1, LoopType.Yoyo); //HOTween.To(this, 1, tweenParms);

  7. Hotween出了个2.0版本叫做DOTween,效率、使用便捷性方面都做了调整,可以说直接碾压iTween,不过现在还处于Alpha阶段,等出来正式版就用它

  8. momo我想实现一个摄像机路径动画,在一个路径上不同路段的速度可以控制,这要用哪个插件可以实现呢?iTween 、Gokit、Hotween、LeanTween 这几个哪个可以实现哦~

    • 群里朋友分享个 camera path animator,灰常的强大啊,比iTween的路径编辑器强大多了,就是不知道性能如何,hotween和leantween还没整明白。。。

  9. 用过 Itween,Hotween和 LeanTween,最喜欢的还是 LeanTween。LeanTween代码写起来方便,性能也好,支持的缓动也很全。Hotween 查找它的调用方法不好找,不容易上手。Itween 就不说了,完全同意松哥的说法,也深有体会啊。GoKit 没用过。