查看: 12905|回复: 8
打印 上一主题 下一主题

[教程] unity3d动画插件iTween—动态控制

[复制链接]

25

主题

5

听众

358

积分

设计实习生

Rank: 2

纳金币
300
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2013-3-1 14:53:07 |只看该作者 |倒序浏览
上一节我们讲了iTween路径动画的制作过程。这一节我们看下怎么动态调用它,和创建多个路径的方法,动态切换的方法。   首先打开上次做的项目,选择player物体,在Inspector视图中讲iTween Event下的play Automatically的选框勾掉。因为我们要动态控制动画的播放,不需要它运行时就播放了。这些做完之后就开始写代码了,创建一个C#脚本,命名为Animation control,并写入一下代码:public class Animationcontrol : MonoBehaviour {         public GameObject player;//带路径动画的物体         void OnGUI()         {                   if (GUI.Button(new Rect(10, 70, 50, 30), "play"))                   {             //播放路径动画                            iTweenEvent.GetEvent(player,"firstevent").Play();                   }                   if (GUI.Button(new Rect(100, 70, 50, 30), "stop"))                   {               //停止路径动画                            iTweenEvent.GetEvent(player,"firstevent").Stop();                   }         }}分析上面的脚本。我们用iTweenEvent.GetEvent(player,"firstevent").Play();和iTweenEvent.GetEvent(player,"firstevent").Stop();来控制动画的停止和播放,其中player为带有路径动画的物体,"firstevent"需要与路径动画的名称保持一致。就是Inspector视图中讲iTween Event下的Name的值脚本完成后,讲脚本添加到我们的摄像机上。将player拖放到变量player运行游戏,点击play按钮动画开始运行,点击stop按钮,动画停止运行。下面我们来看下怎么给一个物体添加多段路径,及切换。选中我们path物体,在给他添加一个ITweenPath。如图:给path name命名为second pathParhColor最好与第一个颜色分开的颜色分开Node Count改为5。然后设置关键点。制作完成后。在Scene中就出现了两条路径 选择player物体。在给他添加一个。ITween Event设置如下:勾选path并选择secnd path,勾选time设置时间为20.勾选easetype选择linear设置匀速运动。如图:这样我们就给物体player添加了两段路径动画,下面我们就用代码来控制这两段动画代码如下: public class Animationcontrol : MonoBehaviour {         public GameObject player;//带有动画的物体         void OnGUI()         {                   if (GUI.Button(new Rect(10, 70, 50, 30), "firstAN"))                   {            //路径1的起始位置                            player.transform.position =new Vector3(-94.50654f, 17.2556f, 15.62861f);            //播放动画1                            iTweenEvent.GetEvent(player,"firstevent").Play();            //停止动画2                            iTweenEvent.GetEvent(player,"secondevent").Stop();                   }                   if (GUI.Button(new Rect(100, 70, 50, 30), "secondAN"))                   {            //路径2的起始位置                            player.transform.position =new Vector3(-95.15093f, 10f, 1.327053f);            //播放动画2                            iTweenEvent.GetEvent(player,"secondevent").Play();            //停止动画1                            iTweenEvent.GetEvent(player,"firstevent").Stop();                   }         }}添加到游戏物体,运行游戏。这样就算OK了。   
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

955

主题

164

听众

7万

积分

版主

Rank: 7Rank: 7Rank: 7

纳金币
59338
精华
28

活跃会员 荣誉管理 突出贡献 优秀版主 论坛元老

沙发
发表于 2013-3-1 15:10:59 |只看该作者
很实用的教程,推荐一下!
回复

使用道具 举报

0

主题

1

听众

1

积分

设计初学者

Rank: 1

纳金币
1
精华
0

活跃会员 灌水之王

板凳
发表于 2013-3-3 14:37:40 |只看该作者
很实用的教程,推荐一下!
回复

使用道具 举报

0

主题

1

听众

1

积分

设计初学者

Rank: 1

纳金币
1
精华
0

活跃会员 灌水之王

地板
发表于 2013-3-3 15:06:12 |只看该作者
确切的说,这是iTween 配合 iTween visual editor 的教程
回复

使用道具 举报

Sora    

0

主题

1

听众

86

积分

设计初学者

Rank: 1

纳金币
4
精华
0

活跃会员 灌水之王

5#
发表于 2013-3-20 19:20:15 |只看该作者
拜讀第二篇 感謝分享!!!
回复

使用道具 举报

1

主题

1

听众

67

积分

设计初学者

Rank: 1

纳金币
8
精华
0
6#
发表于 2014-5-14 14:59:28 |只看该作者
正好用到,非常感谢
回复

使用道具 举报

1

主题

1

听众

67

积分

设计初学者

Rank: 1

纳金币
8
精华
0
7#
发表于 2014-5-14 15:47:58 |只看该作者
路径少还行,路径多了就蛋疼了
回复

使用道具 举报

0

主题

0

听众

52

积分

设计初学者

Rank: 1

纳金币
3
精华
0
8#
发表于 2014-11-13 23:18:50 |只看该作者
下载个看看
回复

使用道具 举报

0

主题

2

听众

1346

积分

助理设计师

Rank: 4

纳金币
505
精华
0
9#
发表于 2014-11-14 15:38:28 |只看该作者
推荐 长知识了 ! 谢谢指导
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-27 18:20 , Processed in 0.106748 second(s), 35 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部