其实在 skin里非常容易实现,不过没有用 flash 的 帧来实现,

只用计数器,不知耗性能如何,有兴趣谁去测试回头转告下哈!

看图先吧:

ApplicationSkin1.mxml

<? xml version="1.0" encoding="utf-8" ?>

<!-- ADOBE SYSTEMS INCORPORATED
    Copyright 2008 Adobe Systems Incorporated
    All Rights Reserved.

NOTICE: Adobe permits you to use, modify, and distribute this file
    in accordance with the terms of the license agreement accompanying it. -->

<!-- - The default skin class for the Spark Application component. 
        
      @langversion 3.0
      @playerversion Flash 10
      @playerversion AIR 1.5
      @productversion Flex 4
-->
< s:Skin xmlns:fx ="http://ns.adobe.com/mxml/2009" xmlns:s ="library://ns.adobe.com/flex/spark" alpha.disabled ="0.5" creationComplete ="onStart()" >

< fx:Metadata >
     <![CDATA[ /** 
     * A strongly typed property that references the component to which this skin is applied.
     */
        [HostComponent("spark.components.WindowedApplication")]
]]>
     </ fx:Metadata > 
    
     < fx:Script >
         <![CDATA[ import flash.utils.Timer;
            
            private var ticker:Timer;
            
            public function onStart():void
            {
                if(movingCloud.left<contentGroup.width+580)
                {
                    movingCloud.left +=0.5;
                }
                else
                {
                    movingCloud.left = -580;
                }
                ticker=new Timer(40, 1);
                ticker.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
                ticker.start();
            }
            public function onTimerComplete(event:TimerEvent):void
            {
                onStart();
            }
]]>
     </ fx:Script >

< s:states >
         < s:State name ="normal" />
         < s:State name ="disabled" />
         < s:State name ="normalAndInactive" />
         < s:State name ="normalWithControlBar" />
         < s:State name ="disabledWithControlBar" />
         < s:State name ="disabledAndInactive" />
     </ s:states >
    
     <!-- fill -->
     <!--
        A rectangle with a solid color fill that forms the background of the application.
        The color of the fill is set to the Application's backgroundColor property.
-->
     < s:Rect id ="backgroundRect" left ="0" right ="0" top ="0" bottom ="0" >
         < s:fill >
            <!-- <s:SolidColor color="{getStyle('backgroundColor')}" /> -->
             < s:BitmapFill source ="@Embed(source='assets/img/cloud.jpg')" smooth ="true" />            
         </ s:fill >
     </ s:Rect >
    
     < s:Group width ="100%" height ="100%" minWidth ="0" minHeight ="0" top ="-10" left ="-580" >
         < s:BitmapImage id ="movingCloud" source ="assets/img/cloud1.png" smooth ="true" />
     </ s:Group >
        
     < s:Group left ="0" right ="0" top ="0" bottom ="0" >
         < s:layout >
             < s:VerticalLayout gap ="0" horizontalAlign ="justify" />
         </ s:layout >
        
         <!--
            Application Control Bar
-->
         < s:Group id ="topGroup" minWidth ="0" minHeight ="0" includeIn ="normalWithControlBar, disabledWithControlBar" >

<!-- layer 0: control bar highlight -->
             < s:Rect left ="0" right ="0" top ="0" bottom ="1" >
                < s:stroke >
                     < s:LinearGradientStroke rotation ="90" weight ="1" >
                         < s:GradientEntry color ="0xFFFFFF" />
                         < s:GradientEntry color ="0xD8D8D8" />
                     </ s:LinearGradientStroke >
                </ s:stroke >
             </ s:Rect >

<!-- layer 1: control bar fill -->
             < s:Rect left ="1" right ="1" top ="1" bottom ="2" >
                < s:fill >
                     < s:LinearGradient rotation ="90" >
                         < s:GradientEntry color ="0xEDEDED" />
                         < s:GradientEntry color ="0xCDCDCD" />
                     </ s:LinearGradient >
                </ s:fill >
             </ s:Rect >

<!-- layer 2: control bar divider line -->
             < s:Rect left ="0" right ="0" bottom ="0" height ="1" alpha ="0.55" >
                 < s:fill >
                     < s:SolidColor color ="0x000000" />
                 </ s:fill >
             </ s:Rect >

<!-- layer 3: control bar -->
             < s:Group id ="controlBarGroup" left ="0" right ="0" top ="1" bottom ="1" minWidth ="0" minHeight ="0" >
                 < s:layout >
                     < s:HorizontalLayout paddingLeft ="10" paddingRight ="10" paddingTop ="7" paddingBottom ="7" gap ="10" />
                 </ s:layout >
             </ s:Group >
         </ s:Group >

<!--
            @copy spark.components.SkinnableContainer#contentGroup
-->
         < s:Group id ="contentGroup" width ="100%" height ="100%" minWidth ="0" minHeight ="0" />
        
     </ s:Group >

</ s:Skin >

贴就贴完整点吧,虽然简单

工程文件:

<? xml version="1.0" encoding="utf-8" ?>
< s:WindowedApplication xmlns:fx ="http://ns.adobe.com/mxml/2009" xmlns:s ="library://ns.adobe.com/flex/spark" xmlns:mx ="library://ns.adobe.com/flex/mx" xmlns:views ="views.*" skinClass ="ApplicationSkin1" >
     < fx:Declarations >
         <!-- 将非可视元素(例如服务、值对象)放在此处 -->
     </ fx:Declarations >
     <!-- <views:vApps x="0" y="0">
    </views:vApps>
-->

</ s:WindowedApplication >

转载于:https://www.cnblogs.com/dzone/archive/2011/10/20/2219633.html

Flex实现 WebQQ那白云草地主题,云朵飘!相关推荐

  1. 让云朵飘,微信小程序animation循环动画

    微信小程序提供了实现动画的api--animation,但却不能循环播放,都是一次性的,动完就Over了,下面提供一个用微信小程序的animation来实现循环动画的玩具,抛砖引玉,希望大家能想出更好 ...

  2. Silverlight的诸多效果(小鸟飞,白云走,气球飘,图片展示)附源码

    此项目应用了许多Silverlight的动画效果.诸如小鸟在天空中飞翔,白云在走,气球在空中飘来飘去,太阳照耀万物,图片动画展示,音乐播放等.下面是一些截图,在最后附有源代码 源码下载:http:// ...

  3. Flex 3 与 Flex 4 beta 之间的区别

    Flex 3 与 Flex 4 beta 之间的区别 Flex 4(代码名:Gumbo)beta 发行版在 Flex 3 基础上做出重大改动.Flex 4 beta 引入了一个新的组件和外观架构.但是 ...

  4. [转载] Flex 4 皮肤功能介绍

    原文: http://www.adobe.com/devnet/flex/articles/flex4_skinning.html 转载:http://www.smithfox.com/?e=34 F ...

  5. Flex移动skin–第3部分:多平台开发

    在关于创建Flex移动皮肤系列文章的第二部分里,我们讨论了屏幕密度(DPI)对组件皮肤以及移动应用布局所带来的影响. 我还展示了如何使用缩放应用,特定密度的位图,以及CSS元媒介查询以调整和适应多种D ...

  6. 蓝天白云网站404页面源码

    简介: 以蓝天白云为主题的404错误页面代码. 以蓝色为大背景,上面是一个粘胶粘着一个摇摇欲坠的404,中间是文字很抱歉,你所访问的网页不存在! 再往下是返回首页按钮,最下面是白云了. 元素不多,简单 ...

  7. Flex移动皮肤开发(三)

    范例文件 mobile-skinning-part3 在关于创建Flex移动皮肤系列文章的第二部分里,我们讨论了屏幕密度(DPI)对组件皮肤以及移动应用布局所带来的影响. 我还展示了如何使用缩放应用, ...

  8. 用css做一个云朵的动画

    今天听讲了万晨曦老师的公开课,将所学的东西做一个总结. 首先,我们做一个蓝天白云和土地的背景. body{background: #5ca0e3; //蓝天 } .ground{ //土地width: ...

  9. 我的世界java刷怪数量_我的世界Minecraft源码分析(1):刷怪逻辑

    这个系列通过对我的世界Minecraft源码进行拆分讲解,让大家可以清除的了解一款游戏是怎么一步步被实现出来的,下面就介绍Minecraft源码第一篇内容,关于刷怪逻辑. 生成循环 生物大致划分为四种 ...

最新文章

  1. 模板页显示Excel数据Gridview增删改查
  2. ios点击大头针气泡不弹出_地图大头针气泡点击事件
  3. LaTeX文档插入图片的几种常用方法
  4. view controller lifecycle discussion - onInit
  5. 13-Canny边缘检测
  6. java list集合增删改_Java中集合类list的增删改查
  7. 拥有触觉分析能力,上交MIT获IROS 2020最佳论文奖
  8. lambda表达式可以用来声明_lambda表达式可以用来创建包含多个表达式的匿名函数...
  9. 数据结构笔记(一) 线性表(C语言描述)
  10. LeetCode—4.滑动窗口
  11. 哪里有c语言在线编程题,在线求C语言编程题答案。。。
  12. 我的世界服务器雪球菜单无限雪球,命令方块实现雪球菜单玩家互传功能
  13. 2d unity 多物体 射线_[蛮牛驿馆] Unity2D:用射线检测物体的点击
  14. 区块链对人类产生的变革
  15. 中间件系列六 RabbitMQ之Topic exchange 用法
  16. python小欢喜(八)俄罗斯方块 (3) 组合对象的旋转
  17. 前端新手遇到的问题 ---含“ 文字贯穿线、@font-face、axios ”知识
  18. 《黑白团团队》第八次团队作业:Alpha冲刺 第四天
  19. Photoshop-选区的应用
  20. 通过英文剧集、电影学单词的小工具

热门文章

  1. 前端响应式布局原理与方案(详细版)
  2. 20190901PDD第二题
  3. python 爬虫 搜狗词库
  4. HDOJ 1251 统计难题——第二次用字典树AC题目,写一下解题报告
  5. MATLAB第五章习题21题,MATLAB复习题(含答案).doc
  6. 直播行业的未来增量:一边内容升级,一边驱动演艺
  7. 泰隆银行it一面记录
  8. 症监护室自动临床信息管理系统简介
  9. 可持续城市交通规划指南
  10. Codesys冗余配置(基础)