Flash编程无基础入门教程
这可不是我们想要的,解决的方法
* 直接在XML里面把空格回车都删除掉,就是说一个TAG紧挨着一个
* 用AS把无用的子节点删除
* 在FLASH读入XML源数据之前,将该XML对象的一个属性ignoreWhite设置为true,但是该属性只在R41版本的PLAYER生效(注:网上可以更新的版本为R41,但是随FLASH附带的FLASHPLAYER的版本是R30)
再回到我们的例图,三个子节点下面还有子节点,最尾的节点也可以叫叶节点。
但是图里面还有个东西我们没找到,就是AUTHOR的属性SALUTATION,属性不是该节点的子节点,要访问我们属性,要用XML.attributes
概念先说这么多,现在看看我们怎么把XML源程序输入进FLASH
首先定义一个新的XML对象了:
mydocument.nbsp= new XML();
这个对象是空的,我们通过appendChild, par***ML, 和 load 三种方法来输入数据
当然我们也可以在定义的时候就输入数据:mydocument.nbsp= new XML('
hello world!
');
这时候我们的mydocument.有了一个叫P的子节点,P的叶节点是hello world!
之后我们就可以访问这个XML对象了,firstChild这个XML属性指向第一个子节点,childNodes是XML对象的子对象,指向所有的子节点
mydocument.firstChild // Accesses P
mydocument.childNodes� // Also accesses P 两个AS语句指向的都是节点P
要访问叶节点的内容需要属性nodevalue
我们要显示P节点的子节点的内容,就要写成:trace(mydocument.firstChild.firstChild.nodevalue);
要给它赋值:
mydocument.firstChild.firstChild.nodevalue = "goodbye cruel world";
要删除P节点,用方法removeNode:
mydocument.firstChild.removeNode();
新建一个节点叫P,用方法createElement创建元素:
newElement = mydocument.createElement("P");
再将该元素加进去作为一个节点,用方法appendChild:
mydocument.appendChild(newElement);
做一个叶节点方法类似:
newText = mydocument.createTextNode("XML is fun");
mydocument.firstChild.appendChild(newText);
更详尽的方法还是查阅AS字典吧.
第十四章 最后一个版本选择题
上一个版本面向对象的代码对我们这个基于XML的版本很有帮助,上一个版本我们是用对象的数组来存我们的数据,这个版本里面,我们使用外部的XML文件
下面先看看XML文件的结构:
version 1
version 2
version 3
version 4
version 5
version 6
version 3
version 4
version 5
yes
no
mp3
aiff
wav
true
false
java
java
c++
ecma-262
perl
这个XML里面,QUIZ是我们的根元素
每一题都放在QUESTION元素内,题目正文为其属性TEXT,正确答案为其属性ANSWER(ANSWER=1代表选第二个答案)
每一题的选项则是QUESTION的子节点CHOICE
其实根本就不用解释,大家直接看都能看懂
使用了外部XML之后,我们升级题目只需改动XML文件即可,而上一个版本,修改外部AS文件之后还是需要EXPORT一次。
这个版本里面,将保留上个版本大部分的代码,除了输入题目数据的部分,将用XML来代替。
[文章热度:]
123456789101112131415161718192021
上一页:Flash 物理效果收藏
下一页:Flash As编码习惯