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,
添加如下代码:

	public Animator animator1;
	public void Set()
	{
		if (animator1.GetBool("IsMove"))
		{
			animator1.SetBool("IsMove", false);
		}
		else
		{
			animator1.SetBool("IsMove", true);
		}
	}

并设置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
在这里插入图片描述
12.在Window菜单中选择Animator,打开Animator窗口,可以看到如下所示效果。
在这里插入图片描述
右键Create State、Empty添加一个新状态。在这里插入图片描述
在新状态按钮中右键Set as Layer Default State设置为默认状态。在这里插入图片描述
再把新状态的下一状态设置为down,down的下一状态设置为up,up的下一状态设置为新状态。在这里插入图片描述
选中New State,在转换条件中选中New State=>down然后添加条件IsMove为true,并且取消勾选Has Exit Time复选框。
在这里插入图片描述
同样的操作,把down的转换条件添加IsMove,但设置为false,并且不勾选Has Exit Time复选框。只勾选up的Has Exit Time复选框。
在这里插入图片描述
全部保存,运行即可。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值