[1b]为[/1b][1b]Flash 6[/1b][1b]创建一个[/1b][1b]XML[/1b][1b]驱动的图像滚动[/1b]
[1b]翻译:Enews2#cnet.com 来自:
[url=http://builder.com.com/]
http://builder.com.com
[/url]
[/1b]
在创建这个对象的代码的时候,我做了几个假设。首先假设结果集中总会有CScroll.depth节点或者多个节点。然后还假设所有的图像都是高100个像素宽80个像素。这样就使得编码和理解起来都比较简单。代码中没有异常处理机制,但是如果我基于这些假设使用这个对象,就不会出现任何问题。这也就是说我需要保证图像的大小为80X100,并且结果集中至少要有一个CScroll.depth节点。
当一个CScroll对象被实例化的时候,其属性被设为默认值。属性depth由构造方法的depth参数设置。CScroll.depth movieClips被创建,然后被添加到_root movieClip中,每个movieClip都被加入到scrollArray数组以便引用。你会发现每个movie clip的_x属性都是承接上一个_x属性,值为80。movie()方法设置在构造方法内部。move()和init()方法被连接到相应的外部函数:navigate和initScroll。
一旦CScroll对象实例化完成,你可以将XML“绑定”到CScroll对象并填充图像;这一步通过init()方法完成。使用init()方法,将传入XML文档作为参数传入,init()方法将抓取每个节点的节点的文本,然后用定义的图像填充可用的movieClips。另外两个在CScroll对象上设置的重要属性——xmlDocument属性和nodeCount属性——用于导航管理。xmlDocument代表你传入的XML文档,nodeCount属性是你的XML文档中节点的数目。
move()方法期望一个方向参数:+1表示向左移动,-1表示向右移动。这些参数可以通过一个按钮点击事件传入。CScroll对象的导航是循环的,如果XML文档中最后一个节点已被取出,那么下一个取出的节点是将是树的第一个节点,反之亦然。这在导航函数(move()方法)的前几行指定。
再增加几行代码使每个movieClip根据指定的方向要么向左要么向右移动80个像素。如果是向左移动,movieClip的_x属性被检查是否是其所在的位置。如果是-160像素(向左移动两步),movieClip会被置于最右端,面下一个指定的图像被装载到它的位置。如果是向右(80 * (CScroll.depth - 2))个像素(向右移动两步),movieClip会被置于最左端,面下一个指定的图像被装载到它的位置。
当前的节点号(被跟踪的节点)是滚到区域的最右边的节点。因此,当向右移动的时候,你必须下移(CScroll.depth - 2)个节点装载指定的图像。而且,如果那个值小于0(第一个节点的索引值),你就必须将当前的节点重置到链表的顶部:if (the_node
余下唯一要做的事是实例化和使用对象。下面是其代码:
代码拷贝框
var myXML = new XML();
myXML.onLoad = myXML_onload;
myXML.ignoreWhite = true;
var Scroll = new CScroll(8);
myXML.load("/Development/Model/getModels.asp");
function myXML_onload(success) {
if (success and myXML.status == 0 and myXML.hasChildNodes()) {
Scroll.init(myXML);
}
}
function fwd_onclick() {
Scroll.move(1);
}
function rev_onclick() {
Scroll.move(-1);
}
[Ctrl+A 全部选择 然后拷贝]
上面的代码实例化一个XML对象。XML的onLoad事件处理函数设置为myXML_onload。然后创建一个新的CScroll对象Scroll。最后从一个HTTP源装载XML数据。在XML数据被装载和解析完成之后,调用Scroll的init()方法并传入myXML。这样就使用必要的图像填充了图像滚动。最后,我为Scene上的几个Flash按钮组件添加点击事件处理函数。
如果你需要这个例子的源代码,
[url=http://www.blueidea.com/articleimg/2004/03/1725/Model.zip]
可以从这里下载
[/url]
。有关Flash的XML功能的信息,请查阅Flash的帮助文件。
如果你需要帮助创建一个数据的XML服务器端解决方案,给我发邮件 [1b]Enews2#cnet.com [/1b],我会尽我所能给予您帮助。
本文转自:http://www.5uflash.com/flashjiaocheng/Flashyingyongkaifa/1060.html
发表评论
-
flash连接asp数据库简单通讯
2010-04-10 13:45 635第一步要做的是建立数据库。我们使用Access数据库为例,表名 ... -
flash连接asp数据库简单通讯
2010-04-10 13:45 964第一步要做的是建立数据库。我们使用Access数据库为例,表名 ... -
一个flash loading效果
2010-04-10 13:44 676在公司里做动画时候做的一个loading的效果,可以参考但不要 ... -
非常棒的loading制作教程
2010-04-10 13:44 584首先,想说一下我写此文的动机。记得很早之前我曾经说过“没有l ... -
flash进度控制条
2010-04-10 13:44 793这是我在做flash mv时做的,看下效果: 下面是代码: / ... -
AS3 中的is与as操作符
2010-04-09 14:08 811(1) is运算符 在AS3.0新增加的is运算符,主要功 ... -
AS3 中的is与as操作符
2010-04-09 14:08 684(1) is运算符 在AS3.0新增加的is运算符,主要功 ... -
AS3中XML删除节点
2010-04-09 14:08 615E4X规范中定义有delete和deleteByIndex方法 ... -
AS3中XML删除节点
2010-04-09 14:08 794E4X规范中定义有delete和deleteByIndex方法 ... -
用实验中的Actionscript 3.0实现颜色拾取
2010-04-09 14:07 744var linkageId = "Bliss.jp ... -
as3.0编程:鼠标的操作
2010-04-09 11:59 701取得鼠标的坐标: Source: addEve ... -
as3.0编程:鼠标的操作
2010-04-09 11:59 580取得鼠标的坐标: Source: addEve ... -
as3.0编程:键盘的操作
2010-04-09 11:59 968键盘的点击与弹起: Source: stage ... -
as3.0编程:键盘的操作
2010-04-09 11:59 819键盘的点击与弹起: Source: stage ... -
flash as3做几何画板-先写一个按钮类
2010-04-09 11:58 848package draw1 { import ... -
Flash与Ps打造模糊渐变动画
2010-04-08 11:32 679在电子杂志设计制作尤其是模版制作的过程中,需要使用Flash专 ... -
跑动的小火柴人(flash动画)
2010-04-08 11:32 600本教程描绘的是完全用ActionScript做的一个火柴棍小人 ... -
跑动的小火柴人(flash动画)
2010-04-08 11:31 683本教程描绘的是完全用ActionScript做的一个火柴棍小人 ... -
Flash中的电影艺术之镜头技巧
2010-04-08 11:31 717Flash中的电影艺术 好像这里的文章大部分是关于AS的,其 ... -
Flash中的电影艺术之镜头技巧
2010-04-08 11:31 599Flash中的电影艺术 好像这里的文章大部分是关于AS的,其 ...
相关推荐
20.2 打开硬盘驱动器 20.3 单击加入收藏夹 20.4 复制标题和网址 20.5 关闭输入法 20.6 检测屏幕分辨率 20.7 检测系统信息 20.8 显示本地计算机信息 20.9 检测浏览器浏览过的站点数 20.10 IE文件菜单中的打开命令 ...
20.2 打开硬盘驱动器 20.3 单击加入收藏夹 20.4 复制标题和网址 20.5 关闭输入法 20.6 检测屏幕分辨率 20.7 检测系统信息 20.8 显示本地计算机信息 20.9 检测浏览器浏览过的站点数 20.10 IE文件菜单中的打开命令 ...
2 <br>0003 设置程序代码行序号 3 <br>0004 开发环境全屏显示 3 <br>0005 设置窗口的自动隐藏功能 3 <br>0006 根据需要创建所需解决方案 4 <br>0007 如何使用“验证的目标架构”功能 4 ...
实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...
实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...
实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...
实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...
实例155 播放Flash动画 199 实例156 制作AVI播放器 200 实例157 播放Gif动画 202 4.4 媒体控制 203 实例158 检测是否安装声卡 203 实例159 打开和关闭CDROM 204 实例160 控制左右声道 205 实例161 ...
实例120 透明的Flash动画 实例121 播放GIF动画 实例122 播放AVI动画 实例123 播放VCD 4.2 制作与播放音频 实例124 可以选择播放曲目的CD播放器 实例125 MP3播放器 实例126 声音录制与播放 实例127 制作...
实例120 透明的Flash动画 实例121 播放GIF动画 实例122 播放AVI动画 实例123 播放VCD 4.2 制作与播放音频 实例124 可以选择播放曲目的CD播放器 实例125 MP3播放器 实例126 声音录制与播放 实例127 制作...
183 实例125 如何旋转JPG图像 184 实例126 如何实现图形翻转 185 4.5 图像效果 186 实例127 百叶窗效果显示图像 186 实例128 推拉效果显示图像 187 实例129 水平交错效果显示图像 188...