语录提交--登陆--注册--论坛交流--站长博客

Flash编程无基础入门教程

[作者:来自网络][日期:2007-12-27][导航:Flash教程 >> ActionScript2 >> Flash编程无基础入门教程]
   }
}
// Function to tally the user's score
// 改题的函数
function gradeUser() {
// Count how many questions the user answered correctly
for (var j = 0; j < questionsArray.length; j++) {
// 将答题数组userAnswers[j]与问题数组questionsArray[j]的属性correctAnswer逐个比较
if (userAnswers[j] == questionsArray[j].correctAnswer) {
totalCorrect++;
}
}
// Show the user's score in an onscreen text field
// 显示答对与题目数比
displayTotal = totalCorrect + "/" + questionsArray.length;
}
好了,我们来总结一下这个例子吧
我们已经完成了第三个版本结束时候定下来目标,更快捷的建设,更便易的扩展
我们的题目跟选项都是动态生成的,也就是说生成10、100题或更多题目也只需要修改questionsArray.as这个文件就可以了
如果说生成两题这个例子用时要长于上面的例子,那么生成100题,你会发现用这个例子将是最快的。还有,在100题里面修改其中一题,也是最快的。
看完了例子,希望大家不是只明白了代码的含义,最重要是理解运用对象来编程的方法
同样的例子,其实还可以用其他的对象结构来完成的
更有效地组织数据也是编程艺术的一部分
为了更进一步改进我们的例子,最后一个,就是第五个版本,将用XML代替那个存放对象的数组(也就是在questionsArray.as里那个),它实在太难懂了,是不是啊?呵呵
XML,名字是不是很COOL啊,其实,FLASH里面用XML不难(其他地方的应用就……所以千万别说XML不难,是FLASH里面用不难),呵呵,好吧,开始吧。

 

[nextpage]

第十三章 XML
XML是一种标记语言,通常用于储存,组织和传输数据
XML文档主要由一系列的元素(elements)和属性(attributes)组成,看下面一个XML的例子:
Colin Moock
O'Reilly
这个例子就是由元素 BOOK, TITLE, AUTHOR, PUBLISHER 组成的
在元素里就包含了一个属性:SALUTATION
这些元素怎么让浏览器解释是什么意思呢?它需要DTD,一套决定这些标记的意义的规则。(例如我们常听说的WML、SVG,它们都是XML,但对应不同的DTD)
XML与HTML想比要求格式更严格,格式要求:
* tags 一定要嵌套 (就是说有就一定要有)
* 一定要有一个根元素 (例如例子中的 BOOK)
* 开始部分要用XML声明标记 :
但是AS里面的XML不需要DTD(这就是我说FLASH里面用XML不难的原因,哈哈)
从我们面向对象的角度来看,我们XML的内容可以当做为对象,下图就是我们建立XML对象的层次结构
FLASH已经内建有XML类让我们可以定义自己的XML对象,同时XML对象还有很多方法。
我们还是更进一步用例子分析吧,如果我们建立了如上图的XML对象,那么FLASH首先会自动建立一个元素document.下面才是我们自己的元素。
本来是第一个元素的BOOK成为了document.第一个节点(node),不过我们把它继续当我们XML数据的根也无妨
当一个节点包含于另一个节点时,这个节点称为另一节点的子节点(child),反之另一节点称为其的父节点(parent)
例子中BOOK就是document.child,document.是BOOK的parent
再看图,BOOK有7个子节点,是不是和你想象不同?多了四个节点#text,因为FLASH把标记之间的空格和回车也读成一个节点了。
几个子节点的关系成为兄弟(siblings),如果要找AUTHOR的下一个兄弟(next sibling),FLASH就会给你找来#text

[文章热度:]


123456789101112131415161718192021

上一页:Flash 物理效果收藏

下一页:Flash As编码习惯

最新话题

网站导航

搜索

网站公告


Copyright 2007 51as.com. Some Rights Reserved.
鄂ICP备07003189号

Powered by: KingCMS 5.0.1.0217