玩游戏的时候,点击一个按钮,可能会看到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. Linux里的2>&1

    我们在Linux下经常会碰到nohup command>/dev/null 2>&1 &这样形式的命令.首先我们把这条命令大概分解下首先就是一个nohup表示当前用户和系统 ...

  2. VI 命令 gg 跳到第一行,dG 删除后面的所有内容

    VI 命令 gg 跳到第一行,dG 删除后面的所有内容

  3. 最长公共子序列LCS问题

    很经典的一个问题,也是常考的问题

  4. 软件调试——IA-32 保护模式下寄存器一览

    最近在看张银奎先生的<调试软件>一书,想将关键的技术记录下来,以便日后查阅,也分享给想看之人吧. 1 通用寄存器 EAX,EBX,ECX,EDX:用于运算的通用寄存器,可以使用AX,BX等 ...

  5. Linux 集群

    html,body { } .CodeMirror { height: auto } .CodeMirror-scroll { } .CodeMirror-lines { padding: 4px 0 ...

  6. linux查看负载

    LINUX下查看负载 1,查看磁盘 df -h 2,查看内存大小 free free [-m|g]按MB,GB显示内存 vmstat 3,查看cpu cat /proc/cpuinfo 只看cpu数量 ...

  7. android开发--下载图片

    1.背景介绍 网络上图片的请求,是我们最常见的网络请求之一,不亚于对json/xml数据的请求.一般要展示给用户看的,都不会是纯粹的文字,往往都是图文信息.而在移动互联网时代,图文又往往需要最新的资讯 ...

  8. vsftp 根据用户设置

    #vsftpd.conf ###############pam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YESlocal_root=/da ...

  9. 1.mysql基础之 php 连接

    1.连接数据库 $db=@mysql_connect('DB_HOST','DB_USER','DB_PASS') or die("Unable to connect"); DB_ ...

  10. js部分总结

    1 currentStyle 可以获取行间样式,但是不兼容 其他浏览器用getComputedStyle(div,null)这个ie低级版本不兼容; if(div.currentStyle){ } e ...