如何进行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实现"是一个具体的实践案例,涉及到两个关键库——TLKit和ZZFLEX。下面将详细解析这两个库及其在重构过程中的作用。 首先,TLKit...
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 UI敏捷开发框架,基于UIKit/Foundation,包含常用控件的链式API拓展、一个命令式的列表控制器、一个事件处理队列,使用“模块化”的设计思路,致力于大大减小UI开发和维护的难度和工作量。 ...
- **MyEclipse**:推荐版本为6.0,这是一个功能强大的集成开发环境(IDE),支持多种编程语言。 - **FlexBuilder**:推荐使用FB3_win.exe版本,这是Adobe提供的用于开发Flex应用程序的专业工具。 ##### 2. 安装...
Flex是一种开源的富互联网应用程序(RIA)框架,使用MXML和ActionScript编程语言。而高德地图是中国知名的在线地图服务商,提供了高质量的卫星图像和地图数据。 要将高德地图集成到ArcGIS for Flex应用中,首先需要...
2023年的ZZ058动漫制作赛项赛题是这个领域的一次重要竞赛,聚焦于动画创作的技术与艺术融合,旨在检验参赛者在动漫制作领域的综合技能。 动漫制作是一个涵盖广泛领域的专业,包括故事构思、角色设计、场景设定、...
ZZFLEX主要包含两大部分: 1、为常用控件增加了链式API拓展,可以任性的点点点了 UIButton *butt 0, 100, 35)).title(@"hello").titleColor([UIColor blackColor]).cornerRadius(3.0f).view; 2、数据驱动的列表页...
如何进行 每周组织一章 研讨会形式的演讲 简要保存并重新调用此存储库 研究概述 进步 系统 紧急情况 并发 逐步改进(+ ver.TypeScript) 在JUnit内部 SerialDate重构 嗅觉和启发式 结语 查看更多 打字稿版本 贡献...
ZZ561401.CAB ZZ561401.CAB ZZ561401.CAB
该项目为“studyjava-zz”设计源码,深入探索Java编程新视野,共计包含549个文件,涵盖209个Java源代码文件、74个Git忽略文件、70个项目配置文件、68个classpath文件、66个偏好设置文件、25个Markdown文档、16个XML...
【VC++动态链接库(DLL)编程深入浅出】 动态链接库(DLL)在Windows编程中扮演着重要的角色,它是一种代码和数据共享的方式。DLL文件可以被多个应用程序同时使用,减少了内存占用,并且允许开发者在不修改已发布程序的...
6. **实时控制系统**:机器人常常需要在实时环境下运行,因此参赛者需要理解实时操作系统(RTOS)的概念,并能进行相关配置和编程。 7. **团队协作与项目管理**:比赛不仅考察技术技能,也考察团队合作和项目管理...
wincc SIMATIC WinCC是第一个使用最新的32位技术的过程监视系统,具有良好的开放性和灵活性。 从面市伊始,用户就对SIMATIC WinCC印象深刻。
首先,Android开发是移动应用开发的重要领域,它基于Java语言,利用Android SDK(Software Development Kit)进行编程。在“zz-doctor”项目中,我们能看到Android的四大组件——Activity、Service、...
ZZFLEX是一个强大的iOS UI敏捷开发框架,它基于Apple的UIKit框架进行构建,旨在提高开发者在构建用户界面时的效率和灵活性。这个框架的核心特点包括对常见UI控件的链式API扩展、一个数据驱动的列表展示框架以及一个...
我们将我们的预测与NNLO的总包容性横截面的现有结果进行了比较,并找到了很好的协议。 然后,我们为两种实验设置提供了差分分布的结果,一种用于搜索异常三重玻色子玻色子耦合,另一种用于希格斯分析中的四个带电...
"zz牌类小游戏24点" 是一个基于Java编程语言开发的桌面游戏,其核心玩法是24点游戏。24点游戏是一种流行的心算游戏,玩家需要利用四张给出的扑克牌上的数字,通过加、减、乘、除运算,使得结果等于24。这个游戏旨在...
《zz809.com留言本》是一款基于网络的互动交流平台,源于柏图留言本BTB 1.2版本,并经过管理员zz809的定制和优化。...通过下载和研究这个源码,我们可以深入理解网络留言系统的构建原理,提升自己的编程能力。
在CAD中想要快速测量长度,在CAD工具栏找到加载应用程序,再点击加载 加载成功后在输入栏输入“zz”(不分大小写)在选择你需要测量的线段即可。