egret笔记之gui内设置动画效果

EgretWing->设计->窗口->动画

可以打开动画编辑面版。

首先需要针对当前UI界面设置各种状态。我们简单的设置

【close】:代表当前UI界面处于不可见状态。

【open】:代表当前UI界面处于可见状态。

在动画面版,选择需要增加动画的组件,添加动画效果:

动画效果设置完毕后,创建对于的ts文件。

  public getCurrentSkinState():string
    {
        if(this.parent) {
            // 可见
            return "open";
        }else{
           //  不可见
            return "close";}
    }

重写getCurrentSkinState方法,修改返回的状态值。如果不重写,你会发现动画根本不会有任何效果。

因为源码是这样的:

/*** 返回组件当前的皮肤状态名称,子类覆盖此方法定义各种状态名* @method egret.gui.SkinnableComponent#getCurrentSkinState* @returns {string}*/public getCurrentSkinState():string {return this.enabled?"normal":"disabled"}

所以这个地方需要特殊注意!!!!!

如果状态特别多,可以考虑自己新建变量,自行来修改控制。

仔细想想,状态的区分实际更像是界面切换的标识。

比如:在一个UI皮肤里面,我们管理3个场景,(胜利UI,失败UI,暂停UI)。这时我们通过state(win,pause,fail)3个状态来对应。

当然你也可以分3个UI皮肤来分别实现3个UI。这样的话,就不好做出特别好的动画效果了。

[

可能有人会问,在close状态下不是所有组件都是不可见的或者不存在的么?为什么之前要在所有状态下编辑面板,而不是在open状态下编辑? 因为在close状态下,整个面板是没有被添加到舞台的不在显示列表,所以当我们看到这个面板时,这个面板一定是open状态。所以在所有状态下编辑也未尝不可。可能有人又会问,是不是弄反了,close状态才应该是这样的,open状态下才应该显示所有的组件? 上面说到了close状态是看不见的,怎么设置都行。关键是open状态,当状态从close变为open时,刚开始那些元素确实是在屏幕外或者看不到的,是随着动画的进行才开始出现的。所以这里是模拟的动画开始时候open状态下的预览。

]

参考文章:

http://bbs.egret-labs.org/forum.php?mod=viewthread&tid=6503

时间: 2024-10-08 18:08:46

egret笔记之gui内设置动画效果的相关文章

CSS自学笔记(14):CSS3动画效果

在CSS3中也新增了一些能够对元素创建动画处理的属性.通过这些新增的属性,我们可以实现元素从一种样式变换成另一种样式时为元素添加动态效果,我们就可以取代网页中的动态图片.flash动画和JavaScript了. CSS3中新增的动画效果的属性以及主流浏览器支持情况 属性 浏览器支持 transition IE Firefox Chrome Safari(-webkit-) Opera @keyframes IE Firefox Chrome(-webkit-) Safari(-webkit-)

【iOS开发每日小笔记(十二)】仿Facebook登录界面 错误提示抖动 利用CAAnimation设置动画效果

这篇文章是我的[iOS开发每日小笔记]系列中的一片,记录的是今天在开发工作中遇到的,可以用很短的文章或很小的demo演示解释出来的小心得小技巧.它们可能会给用户体验.代码效率得到一些提升,或是之前自己没有接触过的技术,很开心的学到了,放在这里得瑟一下.90%的作用是帮助自己回顾.记忆.复习. 原本以为国庆假期可以有时间看看书,写写博客.实际上大部分时间都被赶场参加婚礼和到处去亲戚家串门吃饭所占用.眼看明天还剩最后一天时间,今天赶紧来更新一篇,也算是没有完全荒废这7天长假吧! Facebook的客

Android 为PopupWindow设置动画效果

首先定义显示效果的动画文件: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="0" android:fromYDel

android——为View设置动画效果

导入jar包:nineoldandroids-2.4.0(开源动画库): 实例化View view; 创建动画集: //1.创建动画集 AnimatorSet set = new AnimatorSet(); //2.添加动画 set.playTogether( ObjectAnimator.ofFloat(view, "scaleX", 2, 1.5f, 1).setDuration( mDuration), ObjectAnimator.ofFloat(view, "sc

一起学android之设置ListView数据显示的动画效果(24)

效果图: 平时我们要实现ListView数据显示时的动画效果,可以使用LayoutAnimationController为ListView设置动画效果,并通过ListView的setLayoutAnimation方法来设置,最后startLayoutAnimation,启动动画.参看以下代码: public class MainActivity extends Activity { private ListView lv_arrayadapter; private String[] str_na

iOS开发笔记7:Text、UI交互细节、两个动画效果等

Text主要总结UILabel.UITextField.UITextView.UIMenuController以及UIWebView/WKWebView相关的一些问题. UI细节主要总结界面交互开发中遇到的一些细节问题,包括Masonry部分的问题. 动画介绍最近用到的两个,算是常用级别的,动画这部分之后会专门研究总结下. 最后介绍两个工具及三个Xcode使用设置的问题. 1.Text (1)UILabel显示多行文字并且文字置顶显示 不限制UILabel的高度(宽度需要设置,确定文字何时换行)

ios 动画效果CATransition笔记

初学ios开发,很多概念还不清楚,所以只有边学边做例子.又怕学了后面忘了前面,因此用自己的博客来纪录自己的学习历程,也是对自己学习不要懈怠做个监督. 刚学ios做动画效果.因为ios封装得很好,实现ios的漂亮动画效果也很简单,却因为我自己的粗心落了一个字母 导致纠结了一天,这个教训必须记住,同时也懂得了调试技能在编程里地位也是非常重要的存在. 实现ios动画有两种方法:一种UIView层面的,一种是使用CATransition. [objc] view plaincopy - (void)vi

Qt动画效果展示(文艺IT男)

该程序使用应用程序单窗口,主窗口继承于QMainWindow:主窗口有5个QToolButton部件(窗口底部的四个以及窗口中央的一个),单击窗口底部的QToolButton部件可以使窗口中央的那个QToolButton有动画效果:具体效果请自己尝试. 1.生成部件以及定位部件      在主窗口的构造函数中生成部件对象,然后在窗口大小改变事件中定位部件位置,如下代码所示: //生成ToolButton m_pBtn1 = new QToolButton(this); //窗口大小改变事件 vo

手势与动画效果

前沿 :         最近重新做了一个手势的demo,其中有"点击","长按","旋转","拉升"等等在这里就不过多说明了,这些手势都是我们手机上经常会用到的功能,所这部分内容还是比较重要的废话也不多说了-上代码.有些同样的代码小编只会写一遍注释. 等等---我忘记说了,在上代码之前我们先看看小编的Assets.xcassets中的内容,这个里面放的都是图片      现在如上面2张图片可以看出在Assets.xcasse