玩游戏的时候,点击一个按钮,可能会看到UI从某个位置飞进来,关闭之后又往该位置飞出!又或者一些更加复杂的运动轨迹。

我们的项目现在就是使用Animation/Animator来制作界面动画

流程:由程序将界面导出package给美术,具体动画的编辑工作交给美术,然后美术编辑完之后给出对应界面的动画文件。(ps:最好是要确定好整个项目涉及的界面有哪些动画效果,具体界面的宽高都不变了之后再去制作界面动画,不然界面一改动大小、位置等都会影响动画效果!我们也是项目处于后期才开始制作这块的!),至于具体的实现过程可以参考网上的!

a.如果是使用Animator的话是直接在编辑器中附加到对象上,界面一激活显示就自动播放动画,完全不需要写代码去控制。

b.使用Animation,由于我们的界面统一继承一个基类,直接是在运行时显示界面的时候给每个基类对象添加animation组件,然后播放指定名字的动画!

----

本来感觉一切都很美好,因为实际在手机上看动画效果的话是达到预期的,但是界面动画会导致一个问题,就是界面一做完动画,如果界面上的元素不刷新一下(刷新还是会有问题,会感觉闪了一下,体验不好),那么处于拖拽面板(ScrollView)上的图素或文字总是会错位甚至不显示!现在由于时间紧迫,还没能花时间去仔细研究是什么问题!

解决方法除了上面说的刷新界面之外,还想到一个:就是在布局界面的时候,将要播动画的图素(例如背景图面板)与不做动画的图素分离开,因为我们最常用的界面动画就是飞入飞出,因此只要做动画的时候界面背景面板先显示去做相应的动画效果,完成了之后才去显示背景图上面的文字、图片等图素!这样文字、图片等就不会受动画的影响而错位或不显示!

另外,网上找了一下方法,试了一下:当界面做完动画之后,使用panel.alpha=0; panel.alpha=1;

比如:

 public void Show()
 {
   Animation ani = PlayAnimation("xxxx");
   ...
   panel.alpha = ;//原来是使用panel.gameObject.SetActive(false);
   panel.alpha = ;//原来是使用panel.gameObject.SetActive(true);
 }

效果比使用panel.gameobject.setactive(false);panel.gameobject.setactive(true)好,不会闪一下!但具体手机的效果还是有待验证!

2015.2.9

在手机上试了一下使用panel.alpha=0; panel.alpha=1;,不会出现闪屏的效果!

上述描述提到的问题,如果是由于我们使用的方法不当,有知道的朋友可以告知,不胜感激!

NGUI界面动画的更多相关文章

  1. (NO.00004)iOS实现打砖块游戏(二):实现游戏主界面动画

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一个内容不错的游戏也要一个好的包装.玩家进入游戏时第一眼看到的是 ...

  2. NGUI Tween动画Scale与Transform冲突

    NGUI中我们要同时完成Scale与Transform的效果,会发现动画并不是同我们想的那样运行的. 原因就是Tween Scale与Tween Transform的冲突调用. Tween Scale ...

  3. NGUI 界面自适应

    关于 NGUI 的界面自动适应不同的手机分辨率,网上已经够多的了.如果你点进了这个网页,推荐一下这一篇吧: http://www.xuanyusong.com/archives/2536 下面是我自己 ...

  4. 萌货猫头鹰登录界面动画iOS实现分析

    动画效果仿自国外网站readme.io的登录界面,超萌可爱的猫头鹰,具体效果如下图所示. 动画实现核心: 动画核心的是用到了iOS中UIView的transform属性,然后根据尺寸坐标对四张图片进行 ...

  5. Unity NGUI Tween动画回调不执行问题

    最近工作中遇到了一个问题 NGUI的Tween动画完成 回调函数 偶尔不执行 偶现Bug 今天我仔细看了下代码发现 TweenPosition tempTween = varTar.GetCompon ...

  6. 安卓仿QQ红包领取详情界面动画

    为了能清楚的看到这个效果,本人不惜几次花费重金给众群叼发放红包,来查看红包领取详情界面的动画效果,QQ效果如图: 图中我们可以看到,动画处的头像和文字是一起的,即同时并且是整体,注意,是整体进行缩放的 ...

  7. iOS界面动画特效

    1.TableView的headView背景图片拉伸 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup aft ...

  8. css3 简单界面动画

    asdasdasdasda asdasdasdasda

  9. Android UI开发第四十一篇——墨迹天气3.0引导界面及动画实现

    周末升级了墨迹天气,看着引导界面做的不错,模仿一下,可能与原作者的代码实现不一样,但是实现的效果还是差不多的.先分享一篇以前的文章,android动画的基础知识,<Android UI开发第十二 ...

随机推荐

  1. 写 test-case心得

    最近,写ticket较多,由于每天有忙不完的工作加不完的班,心里逐渐有一个小人儿在抱怨了.此种情况下,慢慢的写case时边变得懒散,想钻空闲,于是便简简单单总结几个纲要便完事.提交test-case到 ...

  2. centos 7.2 网卡配置文件 及 linux bridge的静态配置

    在 centos 7.2 系统内, 网卡的配置文件在: /etc/sysconfig/network-scripts/ 下. 命名规则: ifcfg-xxxx.   xxx为设备名称. 通过分析 ne ...

  3. Python发送邮件(支持中文)

    # -*- coding: utf-8 -*- from email.header import Header from email.mime.text import MIMEText import ...

  4. eclipse debug maven项目时出现缺少库的问题

    调试maven web项目时出现缺少库的情况导致项目无法启动  可是打包到tomcat发布却一切正常 后来在stackoverlow上找到了解决方案 项目右键属性->Deployment Ass ...

  5. TFS Build Definition And Auto Deploy

    一台build machine上一般只有一个build service[对应一个build controller]来serve一个team project collection,但又workaroun ...

  6. 传输层(3)-缓冲区大小及限制、TCP输出

    3.缓冲区大小及限制 影响IP数据报大小的限制. 1)IPv4数据报,最大大小是65535. 2)硬件规定的MTU.以太网的MTU是1500字节.SLIP链路1006字节或296字节 3)路径MTU. ...

  7. Servlet学习二——doGet和doPost

    1.get和post是http协议中的两种方法,还有其它,读写一般数据还能满足: 2.get只有一个流,参数附加在url后,且大小个数有严格限制,这个限制因浏览器而有所不同,get传递数据,实际上是将 ...

  8. MySQL常见错误及其解决办法

    1.连接类 (1).问题:MySQL server has gone away  解决办法:出现该报错常见的原因是服务器超时了并且关闭了连接.缺省地,如果没有事情发生,服务器在 8个小时后关闭连接.如 ...

  9. js 什么是变量的提升?

  10. Wordpress上传到阿里云服务器

    Wordpress上传到阿里云服务器 登录服务器 https://account.aliyun.com/login/login.htm 绑定域名 获取FTP信息.数据库信息 在本地修改wordpres ...