分享
 
 
 

Flash创建XML驱动的图像滚动

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

为Flash 6创建一个XML驱动的图像滚动

翻译:Enews2#cnet.com 来自:http://builder.com.com

在创建这个对象的代码的时候,我做了几个假设。首先假设结果集中总会有CScroll.depth节点或者多个<model>节点。然后还假设所有的图像都是高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()方法将抓取每个<model>节点的<sm>节点的文本,然后用定义的图像填充可用的movieClips。另外两个在CScroll对象上设置的重要属性――xmlDocument属性和nodeCount属性――用于导航管理。xmlDocument代表你传入的XML文档,nodeCount属性是你的XML文档中<model>节点的数目。

move()方法期望一个方向参数:+1表示向左移动,-1表示向右移动。这些参数可以通过一个按钮点击事件传入。CScroll对象的导航是循环的,如果XML文档中最后一个<model>节点已被取出,那么下一个取出的节点是将是树的第一个节点,反之亦然。这在导航函数(move()方法)的前几行指定。

再增加几行代码使每个movieClip根据指定的方向要么向左要么向右移动80个像素。如果是向左移动,movieClip的_x属性被检查是否是其所在的位置。如果是-160像素(向左移动两步),movieClip会被置于最右端,面下一个指定的图像被装载到它的位置。如果是向右(80 * (CScroll.depth - 2))个像素(向右移动两步),movieClip会被置于最左端,面下一个指定的图像被装载到它的位置。

当前的节点号(被跟踪的节点)是滚到区域的最右边的节点。因此,当向右移动的时候,你必须下移(CScroll.depth - 2)个节点装载指定的图像。而且,如果那个值小于0(第一个节点的索引值),你就必须将当前的节点重置到链表的顶部:if (the_node < 0) the_node += (this.nodeCount + 1)。

余下唯一要做的事是实例化和使用对象。下面是其代码:

代码拷贝框

var myXML = new XML();

myXML.onLoad = myXML_onload;

myXML.ignoreWhite = true;

var Scroll = new CScroll(8);

myXML.load("http://localhost/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按钮组件添加点击事件处理函数。

如果你需要这个例子的源代码,可以从这里下载。有关Flash的XML功能的信息,请查阅Flash的帮助文件。

如果你需要帮助创建一个数据的XML服务器端解决方案,给我发邮件 Enews2#cnet.com ,我会尽我所能给予您帮助。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有