图片缩放滚动——我的首个as3程序
最近空闲时间很多,一直对flash/flex很感兴趣,于是便学起了as3。前段时间在http://www.bestofjoomla.com/里看见这样一个flash:
感觉很不错,同时为了检验自己的学习成效,便着手自己也实现一个。
我的项目逻辑大致如下:
(1)、图片信息组织成xml,包括编号、图片地址、名称、提示语。
<ImgList>
<Img>
<Id>0</Id>
<Url>1.jpg</Url>
<Title>哈罗</Title>
<Tip>1/7</Tip>
</Img>
<Img>
<Id>1</Id>
<Url>2.jpg</Url>
<Title>hello!</Title>
<Tip>2/7</Tip>
</Img>
<Img>
<Id>0</Id>
<Url>1.jpg</Url>
<Title>哈罗</Title>
<Tip>1/7</Tip>
</Img>
<Img>
<Id>1</Id>
<Url>2.jpg</Url>
<Title>hello!</Title>
<Tip>2/7</Tip>
</Img>
(2)当图片和xml文件正在加载的时候显示loading。
(3)代码组织。
a、采用文档类方式,除文档背景和内嵌loading图片之外,其他均用as3实现。
b、代码类按不同的逻辑责任来划分,共三个。
-Model.as 负责处理整体的动画逻辑
这个部分中最重要的就是各个动画效果的恰当配合,怎样提高代码的复用率,减少重复编码
-Single.as 负责生成单个图片信息模块
这个部分中重要的在于要确立好图片的注册点,使得在构建动画的时候更方便,同时将不由外界因素影响的自身的动画绑定
-Direction.as 协助动画逻辑的辅助类
这个部分很重要,体现了这个项目的动画设计理念,为了实现各个图片的准确循环切换,我设计了一个数组,存贮当前正在展示的三个对象,并预留了一个位置给下一个即将展示的对象,我分别给他们定义了一个位置,LEFT、CENTER、RIGHT、NEXT,也正因引入了这个位置的概念,使得整体代码阅读起来不需要注释也能明白我在操作哪个对象。
本人文笔有限,就写到这啦,感兴趣的朋友可以下载源码,Enjoy!。