`
strugglesMen
  • 浏览: 115256 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

[zz]如何进行Flex动画编程?

阅读更多

 

如何进行Flex的动画编程呢?跟着我来,一步一步从基础开始把!
 
首先,我们做个最基本的动画,让一个小球在屏幕上实现滚动。
我们在我们的FlexBuilder或者FlashBuilder中,新建一个 ActionScript项目 ,其名为 animate ,然后,我们看以下代码,你可以直接将其拷贝到新建工程的as类文件中:
 
package { 
 import flash.display.Sprite; 
 import flash.events.Event; 
 public class animate extends Sprite { 
  private var ball:Sprite; 
  public function animate() { 
   init(); 
  } 
  private function init():void { 
   ball = new Sprite(); 
   addChild(ball); 
   ball.graphics.beginFill(0xff0000); 
   ball.graphics.drawCircle(0, 0, 40); 
   ball.graphics.endFill(); 
   ball.x = 20; 
   ball.y = stage.stageHeight / 2; 
   ball.addEventListener(Event.ENTER_FRAME, onEnterFrame); 
  } 
  private function onEnterFrame(event:Event):void { 
   ball.x++; 
  } 
 } 
}
 
 
我们可以看到类animate实际上继承了Sprite类,并且在最后加入了一个EnterFrame得动作,这是个什么动作呢?这其实就是帧在刷新时会执行的动作,在这个事件里我们可以实现称之为动作的代码,即我们想要实现的动作的代码,这里我们加入的是一个最简单的让横坐标加5的代码,这样,我们可以编译运行这个类所产生的swf文件,我们可以看到一个红色的小球从左向右缓慢移动。
 
ok,这就是一个最简答的动画教程。
 
但是,如果让动画运行之后,小球会一直滚动到屏幕外边,如果我们想要小球滚动到右边界的某处,就向回滚动的话,如何实现呢?
 
OK,我们可以看下面的代码:
 
package { 
 import flash.display.Sprite; 
 import flash.events.Event; 
 public class animate extends Sprite { 
  private var ball:Sprite; 
  public function animate() { 
   init(); 
  } 
  private function init():void { 
   ball = new Sprite(); 
   addChild(ball); 
   ball.graphics.beginFill(0xff0000); 
   ball.graphics.drawCircle(100, 100, 40); 
   ball.graphics.endFill(); 
   ball.x = 20; 
   ball.y = stage.stageHeight / 2; 
   ball.addEventListener(Event.ENTER_FRAME, onEnterFrame); 
  } 
  private function onEnterFrame(event:Event):void { 
   if(ball.x>220)
   {
    ball.removeEventListener(Event.ENTER_FRAME,onEnterFrame);
  ball.addEventListener(Event.ENTER_FRAME, left);
   }
 else
  ball.x+=5;
  
  } 
  
    private function left(event:Event):void { 
   if(ball.x<20)
   {
    ball.removeEventListener(Event.ENTER_FRAME,left);
    ball.addEventListener(Event.ENTER_FRAME, onEnterFrame);
   } 
   else
    ball.x-=5;
  } 
  
 } 
}
 
 
相信大家已经想到了,在这里我们定义了一个新的动作left,当小球的横坐标超出某个范围的时候,将小球先前绑定的动作remove掉,然后绑定一个这个新的动作left,这个动作就是小球向回滚动的动作,然后当小球滚动到原点的时候,我们再让其绑定到初始化时的动作,这样小球就会来回滚动了^_^。


 

分享到:
评论

相关推荐

    高仿微信,iOSAppTemplate代码重构 此版本TLChat基于TLKit、 ZZFLEX实现

    本项目标题提到的"高仿微信,iOSAppTemplate代码重构 此版本TLChat基于TLKit、ZZFLEX实现"是一个具体的实践案例,涉及到两个关键库——TLKit和ZZFLEX。下面将详细解析这两个库及其在重构过程中的作用。 首先,TLKit...

    base zz zz zz zz

    base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz

    ZZFLEX:一个完善的iOS敏捷开发框架,基于UIKit实现,包含常用控件的链式API拓展、一个数据驱动的列表框架、一个事件处理队列

    ZZFLEX 一个完善的iOS UI敏捷开发框架,基于UIKit/Foundation,包含常用控件的链式API拓展、一个命令式的列表控制器、一个事件处理队列,使用“模块化”的设计思路,致力于大大减小UI开发和维护的难度和工作量。 ...

    flex安装及环境配置

    - **MyEclipse**:推荐版本为6.0,这是一个功能强大的集成开发环境(IDE),支持多种编程语言。 - **FlexBuilder**:推荐使用FB3_win.exe版本,这是Adobe提供的用于开发Flex应用程序的专业工具。 ##### 2. 安装...

    arcgis for flex 加载高德地图

    Flex是一种开源的富互联网应用程序(RIA)框架,使用MXML和ActionScript编程语言。而高德地图是中国知名的在线地图服务商,提供了高质量的卫星图像和地图数据。 要将高德地图集成到ArcGIS for Flex应用中,首先需要...

    2023年全国职业院校技能大赛-ZZ058 动漫制作赛项赛题.rar

    2023年的ZZ058动漫制作赛项赛题是这个领域的一次重要竞赛,聚焦于动画创作的技术与艺术融合,旨在检验参赛者在动漫制作领域的综合技能。 动漫制作是一个涵盖广泛领域的专业,包括故事构思、角色设计、场景设定、...

    ios-界面构建从未如此简单.zip

    ZZFLEX主要包含两大部分: 1、为常用控件增加了链式API拓展,可以任性的点点点了 UIButton *butt 0, 100, 35)).title(@"hello").titleColor([UIColor blackColor]).cornerRadius(3.0f).view; 2、数据驱动的列表页...

    clean-code:zz永远不要申请吧?

    如何进行 每周组织一章 研讨会形式的演讲 简要保存并重新调用此存储库 研究概述 进步 系统 紧急情况 并发 逐步改进(+ ver.TypeScript) 在JUnit内部 SerialDate重构 嗅觉和启发式 结语 查看更多 打字稿版本 贡献...

    ZZ561401.CAB

    ZZ561401.CAB ZZ561401.CAB ZZ561401.CAB

    基于Java与HTML的studyjava-zz设计源码,深入探索Java编程新视野

    该项目为“studyjava-zz”设计源码,深入探索Java编程新视野,共计包含549个文件,涵盖209个Java源代码文件、74个Git忽略文件、70个项目配置文件、68个classpath文件、66个偏好设置文件、25个Markdown文档、16个XML...

    VC++动态链接库(DLL)编程深入浅出(zz).doc

    【VC++动态链接库(DLL)编程深入浅出】 动态链接库(DLL)在Windows编程中扮演着重要的角色,它是一种代码和数据共享的方式。DLL文件可以被多个应用程序同时使用,减少了内存占用,并且允许开发者在不修改已发布程序的...

    ZZ-2022010 机器人技术应用赛项赛题.zip

    6. **实时控制系统**:机器人常常需要在实时环境下运行,因此参赛者需要理解实时操作系统(RTOS)的概念,并能进行相关配置和编程。 7. **团队协作与项目管理**:比赛不仅考察技术技能,也考察团队合作和项目管理...

    wincc AX NF ZZ

    wincc SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 从面市伊始,用户就对SIMATIC WinCC印象深刻。

    中医大夫助理信息系统 zz-doctor

    首先,Android开发是移动应用开发的重要领域,它基于Java语言,利用Android SDK(Software Development Kit)进行编程。在“zz-doctor”项目中,我们能看到Android的四大组件——Activity、Service、...

    一个完善的iOS UI敏捷开发框架,基于UIKit,包含常用控件的链式API拓展、一个数据驱动的列表框架、一个事件处理队列。.zip

    ZZFLEX是一个强大的iOS UI敏捷开发框架,它基于Apple的UIKit框架进行构建,旨在提高开发者在构建用户界面时的效率和灵活性。这个框架的核心特点包括对常见UI控件的链式API扩展、一个数据驱动的列表展示框架以及一个...

    超出NLO QCD的高横向动量的ZZ产生

    我们将我们的预测与NNLO的总包容性横截面的现有结果进行了比较,并找到了很好的协议。 然后,我们为两种实验设置提供了差分分布的结果,一种用于搜索异常三重玻色子玻色子耦合,另一种用于希格斯分析中的四个带电...

    zz牌类小游戏24点

    "zz牌类小游戏24点" 是一个基于Java编程语言开发的桌面游戏,其核心玩法是24点游戏。24点游戏是一种流行的心算游戏,玩家需要利用四张给出的扑克牌上的数字,通过加、减、乘、除运算,使得结果等于24。这个游戏旨在...

    zz809.com留言本

    《zz809.com留言本》是一款基于网络的互动交流平台,源于柏图留言本BTB 1.2版本,并经过管理员zz809的定制和优化。...通过下载和研究这个源码,我们可以深入理解网络留言系统的构建原理,提升自己的编程能力。

    zz CAD快速计算长度插件

    在CAD中想要快速测量长度,在CAD工具栏找到加载应用程序,再点击加载 加载成功后在输入栏输入“zz”(不分大小写)在选择你需要测量的线段即可。

Global site tag (gtag.js) - Google Analytics