`
wangangie20
  • 浏览: 46270 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
最近访客 更多访客>>
社区版块
存档分类
最新评论

Flash 创建XML驱动的图像滚动

阅读更多

 [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
分享到:
评论

相关推荐

    《程序天下:JavaScript实例自学手册》光盘源码

    20.2 打开硬盘驱动器 20.3 单击加入收藏夹 20.4 复制标题和网址 20.5 关闭输入法 20.6 检测屏幕分辨率 20.7 检测系统信息 20.8 显示本地计算机信息 20.9 检测浏览器浏览过的站点数 20.10 IE文件菜单中的打开命令 ...

    程序天下:JavaScript实例自学手册

    20.2 打开硬盘驱动器 20.3 单击加入收藏夹 20.4 复制标题和网址 20.5 关闭输入法 20.6 检测屏幕分辨率 20.7 检测系统信息 20.8 显示本地计算机信息 20.9 检测浏览器浏览过的站点数 20.10 IE文件菜单中的打开命令 ...

    C#编程经验技巧宝典

    2 <br>0003 设置程序代码行序号 3 <br>0004 开发环境全屏显示 3 <br>0005 设置窗口的自动隐藏功能 3 <br>0006 根据需要创建所需解决方案 4 <br>0007 如何使用“验证的目标架构”功能 4 ...

    C#程序开发范例宝典(第2版).part13

    实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...

    C#程序开发范例宝典(第2版).part08

    实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...

    C#程序开发范例宝典(第2版).part02

    实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...

    C#程序开发范例宝典(第2版).part12

    实例080 将XML文件节点绑定到TreeView控件中 106 2.8 DataGridView控件应用 108 实例081 DataGridView控件的分页功能 108 实例082 从DataGridView控件拖放数据至TreeView控件 113 实例083 在DataGridView控件中...

    Delphi开发范例宝典目录

    实例155 播放Flash动画 199 实例156 制作AVI播放器 200 实例157 播放Gif动画 202 4.4 媒体控制 203 实例158 检测是否安装声卡 203 实例159 打开和关闭CDROM 204 实例160 控制左右声道 205 实例161 ...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例120 透明的Flash动画 实例121 播放GIF动画 实例122 播放AVI动画 实例123 播放VCD 4.2 制作与播放音频 实例124 可以选择播放曲目的CD播放器 实例125 MP3播放器 实例126 声音录制与播放 实例127 制作...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例120 透明的Flash动画 实例121 播放GIF动画 实例122 播放AVI动画 实例123 播放VCD 4.2 制作与播放音频 实例124 可以选择播放曲目的CD播放器 实例125 MP3播放器 实例126 声音录制与播放 实例127 制作...

    C#.net_经典编程例子400个

    183 实例125 如何旋转JPG图像 184 实例126 如何实现图形翻转 185 4.5 图像效果 186 实例127 百叶窗效果显示图像 186 实例128 推拉效果显示图像 187 实例129 水平交错效果显示图像 188...

Global site tag (gtag.js) - Google Analytics