玩游戏的时候,点击一个按钮,可能会看到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. 【整理】动态加载Web Services

    WebClient client = new WebClient(); String url = "http://localhost/MESAPIWebService/MESAPI.asmx ...

  2. Javascript函数调用的四种模式

    一 前言 Javascript一共有四种调用模式:方法调用模式.函数调用模式.构造器调用模式以及apply调用模式.调用模式不同,对应的隐藏参数this值也会不同. 二 方法调用模式 函数作为对象的属 ...

  3. jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法

    jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法   在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...

  4. Android自动化学习笔记之MonkeyRunner:用Eclipse执行MonkeyRunner脚本

    Info: 初步学习,难免会有疏漏,以后我会不断修改补全,直到完美.转载请注明出处,谢谢. 2014-10-11: 初版 2014-10-16: 完善 ------------------------ ...

  5. 20条Linux命令面试问答

    程序师  http://www.techug.com/20-linux-command-interview-questions 问:1 如何查看当前的Linux服务器的运行级别? 答: ‘who -r ...

  6. 项目中遇到的各种bug和踩过的坑

    zepto 赋值时单位转换问题 zepto 的 animate 方法移动某个元素的位置时,例如修改某个绝对定位的元素的 left 值,要与修改前的值单位一致,修改前如果是像素值,修改后也要是像素值,否 ...

  7. Nginx配置location总结及rewrite规则写法

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 32.0px "Helvetica Neue"; color: #323333 } p. ...

  8. MySQL之权限管理

    MySQL之权限管理 一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作, 那么你就不能执行update操作.只 ...

  9. NRF51822之IIC(MEMS_LIS2DH12)

    在上篇介绍了OLED的II以写操作为主,没有进行读取操作.所以在现再补充读取的操作. 我在此以LIS2DH为例子 uint8_t temp; lis2dh_read_registers(LIS2DH_ ...

  10. 省市县三级联动(webFrom...DropdownList)

    编辑页面 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"&g ...