Unity实战之面板动画
面板动画一般可以用在游戏的设置面板中,当在游戏中点击某个按钮后,设置面板从某一个地方滑动进入视野,当操作玩家操作完后,再点击按钮从视野滑动出去。
以Unity 2017为例 1.先添加一个3D项目,命名为demo,然后在Assets目录添加一个scene目录,将默认的untitled场景保存到该目录下,改名为demo。
2.在Hierarchy窗口右键选择“UI“=>“Panel”,添加一个面板,改名为MainPanel,以同样的方式再添加一个面板命名为SettingPanel。
3.在MainPanel中添加一个Button,命名为BtnToggleSetting,设置Text属性为“设置”。
4.在SettingPanel中添加一个Button,命名为Back,设置Text属性为“返回”。
5.将SettingPanel面板上移到不与MainPanel重叠。
6.新建一个GameObject,命名为_Toggle。
7.新建一个C#脚本,命名为ui.cs, 添加如下代码:
1 public Animator animator1;
2 public void Set()
3 {
4 if (animator1.GetBool("IsMove"))
5 {
6 animator1.SetBool("IsMove", false);
7 }
8 else
9 {
10 animator1.SetBool("IsMove", true);
11 }
12 }
并设置BtnToggleSetting的OnClick事件为ui.Set。以同样的方式设置Back的OnClick事件为ui.set
8.在编辑器中把ui.cs脚本拖到_Toggle上,然后把SettingPanel拖到ui脚本的Aninator1上。
9.在Window菜单选择Animation,打开动画窗口,在Hierarchy中选中SettingPanel,然后在动画窗口点击"Create",创建一个向下移动的动画,命名为down。点击Preveiw后面的红色按钮,开始录制。
如图所示操作,并在1、4步即0:00的位置与1:00的位置添加关键帧。再点红色按钮结束录制。
10.以同样的方法添加一个向上的动画,命名为up。并将down与up的Loop Time属性去掉,不然会不断循环,达不到效果。
11.在Window菜单中选择Animator Parameter,在打开的窗口中添加一个Bool参数命名为IsMove,复选框为未选中状态,即默认值为false
- 原文作者:Witton
- 原文链接:https://wittonbell.github.io/posts/2020/2020-03-10-Unity实战之面板动画/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. 进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。