[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
设计
> 详细
通过实例学习Flash AS3.0——案例四
时间:
2016-01-31 09:00:22
阅读:
123
评论:
0
收藏:
0
[点我收藏+]
相关文章:
通过实例学习AS3.0——案例三
首先声明
:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。
水平有限,错误难免,欢迎大虾小虾,大鸟小鸟指正。
下面进入正题:
案例4:熟悉
xml
的运用
说明
:一个简单的相册,先载入
xml
,然后载入
xml
列表里的images缩略图,点击缩略图出现大图以及大图的说明。这个案例较前面几个复杂了一些,不过如果熟悉了AS3的语法,还是比较容易理解的。
演示
:http://www.live-my-life-with-yuyi.com/as3_cases/gallery_tween/
代码
:
import fl.transitions.Tween;
import fl.transitions.easing.*;
var imageText:TextField = new TextField();
var fadeTween:Tween;
var imageLoader:Loader;
var
xml
:XML;
var
xml
List:XMLList;
var
xml
Loader:URLLoader = new URLLoader();
xml
Loader.load(new URLRequest("data/images.
xml
"));
xml
Loader.addEventListener(Event.COMPLETE,
xml
Loaded);
跟之前的一样,先导入几个包,这是为了实现图片的渐入渐出效果。然后是定义几个变量,这里
xml
List可能比较陌生,这个变量的作用主要是获得
xml
的child列表,下面具体运用的时候,它的作用就一目了然了。
通过URLLoader载入
xml
,然后监听
xml
,一旦载入完成,就触发
xml
Loaded函数。
function
xml
Loaded(event:Event):void
{
xml
= XML(event.target.data);
xml
List =
xml
.children();
for(var i:int = 0; i <
xml
List.length(); i )
{
imageLoader = new Loader();
imageLoader.load(new URLRequest(
xml
List[i].attribute("thumb")));
imageLoader.x = 25;
imageLoader.y = i * 150 25;
imageLoader.name =
xml
List[i].attribute("source");
addChild(imageLoader);
imageLoader.addEventListener(MouseEvent.CLICK, showPicture);
}
}
这里有一些地方需要注意,比如第一句
xml
= XML(event.target.data);
如果直接
xml
= event.target.data
会报错,因为两个变量的类型不一样。
这里可以看到
xml
List,它是取得
xml
的children,对于使用
xml
非常方便。
然后实例化imageLoader,并载入
xml
List里定义的缩略图,注意这里的写法。
调整一下坐标,并给imageLoader添加了一个name属性,这个属性的值就是
xml
文件里的图片地址,这有利于下面的showPicture函数。
然后将缩略图放到舞台上,并监听它的鼠标点击事件。
function showPicture(event:MouseEvent):void
{
imageLoader = new Loader();
imageLoader.load(new URLRequest(event.target.name));
imageLoader.x = 200;
imageLoader.y = 25;
addChild(imageLoader);
imageText.x = imageLoader.x;
imageText.y = 351;
for(var j:int = 0; j <
xml
List.length(); j )
{
if(
xml
List[j].attribute("source") == event.target.name)
{
imageText.text =
xml
List[j];
}
}
fadeTween = new Tween(imageLoader,"alpha",None.easeNone,0,1,1,true);
}
imageText.autoSize = TextFieldAutoSize.LEFT;
addChild(imageText);
这个点击后显示大图的函数,由于前面已经给name属性添加了图片地址,所以这里直接拿来用就可以了。
大图载入后分配一下坐标,添加到舞台上,接下来就该显示图片的说明了。
这里的做法是循环
xml
List,然后比较
xml
里source是否与这里的name相等,是的话,将该
xml
的值赋予imageText,不过显然有更简单的做法,就是在上面的
xml
Loaded函数中为imageLoader添加一个text属性,然后在showPicture里直接拿来用就可以了。
然后给图片来一个渐入效果,这个之前已经讲过了。
最后两行是定义imageText的对齐方式,这里是左对齐,然后放到舞台上。
整个案例到此结束。
源文件下载
通过实例学习Flash AS3.0——案例四
原文:http://www.jb51.net/flash/actionscript/4042.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!