中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 多媒體制作 > Moock在FF2K1大會上的演說
FLV MetaData Injector 回到列表 Macromedia Breeze 快速安裝
 Moock在FF2K1大會上的演說

作者:chocobo 時間: 2004-04-27 文檔類型:翻譯 來自:藍(lán)色理想

第 1 頁 由O開始
第 2 頁 基礎(chǔ)、解讀、還有一些概念
第 3 頁 開始第一個版本的選擇題的制作
第 4 頁 再來補(bǔ)充一點(diǎn)AS知識
第 5 頁 可以重復(fù)的函數(shù)
第 6 頁 第二個版本選擇題的制作
第 7 頁 數(shù)組(arrays)
第 8 頁 第三個版本的選擇題
第 9 頁 一點(diǎn)面向?qū)ο缶幊讨R
第 10 頁 第四個版本的選擇題
第 11 頁 XML
第 12 頁 最后一個版本選擇題

第十四章:最后一個版本選擇題

上一個版本面向?qū)ο蟮拇a對我們這個基于XML的版本很有幫助,上一個版本我們是用對象的數(shù)組來存我們的數(shù)據(jù),這個版本里面,我們使用外部的XML文件
下面先看看XML文件的結(jié)構(gòu):
<QUIZ>
<QUESTION TEXT="at which version of flash were movie clips introduced?" ANSWER="2">
<CHOICE>version 1</CHOICE>
<CHOICE>version 2</CHOICE>
<CHOICE>version 3</CHOICE>
<CHOICE>version 4</CHOICE>
<CHOICE>version 5</CHOICE>
<CHOICE>version 6</CHOICE>
</QUESTION>

<QUESTION TEXT="when was actionscript formally declared a scripting language?" ANSWER="2">
<CHOICE>version 3</CHOICE>
<CHOICE>version 4</CHOICE>
<CHOICE>version 5</CHOICE>
</QUESTION>

<QUESTION TEXT="are regular expressions supported by flash 5 actionscript?" ANSWER="1">
<CHOICE>yes</CHOICE>
<CHOICE>no</CHOICE>
</QUESTION>

<QUESTION TEXT="which sound format offers the best compression?" ANSWER="0">
<CHOICE>mp3</CHOICE>
<CHOICE>aiff</CHOICE>
<CHOICE>wav</CHOICE>
</QUESTION>

<QUESTION TEXT="true or false: the post-increment operator (++) returns the value of its operand + 1." ANSWER="1">
<CHOICE>true</CHOICE>
<CHOICE>false</CHOICE>
</QUESTION>

<QUESTION TEXT="actionscript is based on..." ANSWER="3">
<CHOICE>java</CHOICE>
<CHOICE>javascript</CHOICE>
<CHOICE>c++</CHOICE>
<CHOICE>ecma-262</CHOICE>
<CHOICE>perl</CHOICE>
</QUESTION>
</QUIZ>


這個XML里面,QUIZ是我們的根元素。每一題都放在QUESTION元素內(nèi),題目正文為其屬性TEXT,正確答案為其屬性ANSWER(ANSWER=1代表選第二個答案)
每一題的選項(xiàng)則是QUESTION的子節(jié)點(diǎn)CHOICE。其實(shí)根本就不用解釋,大家直接看都能看懂。

使用了外部XML之后,我們升級題目只需改動XML文件即可,而上一個版本,修改外部AS文件之后還是需要EXPORT一次。

這個版本里面,將保留上個版本大部分的代碼,除了輸入題目數(shù)據(jù)的部分,將用XML來代替。
以下代碼寫到questionsArray.as中覆蓋其原來內(nèi)容:
//首先仍然定義一個數(shù)組來存放數(shù)據(jù)
var questionsArray = new Array();
//然后我們定義一個XML對象來存放XML數(shù)據(jù)
var quizDoc = new XML();
//之后是建立將XML解釋為我們存放題目的對象格式的函數(shù)buildQuestionsArray(),同時將它連接到新建的XML對象的onLoad函數(shù),讓XML下載完成之后執(zhí)行這個函數(shù)
quizDoc.onLoad = buildQuestionsArray
//然后是執(zhí)行下載XML的AS
quizDoc.load("quiz.xml");


最后我們詳細(xì)解說一下解釋XML的函數(shù)
// *** builds an array of question objects based on the dom tree in quizDoc
function buildQuestionsArray () {
// first, strip unwanted whitespace nodes from the tree.
// 除去無用的節(jié)點(diǎn),上一章已經(jīng)有介紹無用節(jié)點(diǎn)是如何出現(xiàn)的
stripWhitespaceDoublePass(quizDoc);

// now assign a convenient reference to the root QUIZ node
// XML文件的根節(jié)點(diǎn)QUIZ節(jié)點(diǎn)就是 quizDoc.childNodes[1],這里將其指名為quizNode,以便運(yùn)用
var quizNode = quizDoc.childNodes[1];
// for each question node that is a child of the QUIZ node...
// 下面的循環(huán)將逐個提取QUIZ節(jié)點(diǎn)的子節(jié)點(diǎn),即每條題目
for(var k = 0; k < quizNode.childNodes.length; k++) {
// make an array of the text nodes from each CHOICE node
// 為每條題目建立一個選項(xiàng)數(shù)組
var choicesArray = new Array();
// 下面的循環(huán)則是將題目的子節(jié)點(diǎn),即各選項(xiàng)的nodeValue輸入到choicesArray數(shù)組中
for(var j = 0; j < quizNode.childNodes[k].childNodes.length; j++) {
choicesArray[j] = quizNode.childNodes[k].childNodes[j].firstChild.nodeValue;
}

// construct a question object for each QUESTION node,
// and store it in questionsArray
// 用題目正文、選項(xiàng)數(shù)組、正確答案(正確答案目前還是字符串,所以用Number函數(shù)將之轉(zhuǎn)為數(shù)字)作為參數(shù),建立Question對象(定義Question對象的代碼已經(jīng)在上個例子中解釋了)
// 將新建的Question對象作為questionsArray數(shù)組的一個元素
questionsArray[k] = new Question (
Number(quizNode.childNodes[k].attributes.answer),
quizNode.childNodes[k].attributes.text,
choicesArray);
}

// done loading and processing the quiz questions
loadMsg = "";

// begin the quiz
// 調(diào)用函數(shù)makeQuestion,之后的進(jìn)度就同上一個例子了
makeQuestion(currentQuestion);
}


// *** Strips whitespace nodes from an XML document
// *** by passing twice through each level in the tree
// 下面函數(shù)用于除去無用的空白節(jié)點(diǎn),參數(shù)是需要處理的XML的根元素(我們已經(jīng)將其指名為XMLnode了)
function stripWhitespaceDoublePass(XMLnode) {
// Loop through all the children of XMLnode
// 循環(huán)依次將根元素的子元素提取出來
for (var k = 0; k < XMLnode.childNodes.length; k++) {
// If the current node is a text node...
// 如果該節(jié)點(diǎn)是一個文本節(jié)點(diǎn),就開始以下檢查 ...
if(XMLnode.childNodes[k].nodeType == 3) {

// ...check for any useful characters in the node.
var j = 0;
var emptyNode = true;
for(j = 0;j < XMLnode.childNodes[k].nodeValue.length; j++) {
// A useful character is anything over 32 (space, tab,
// new line, etc are all below).
// 因?yàn)榭崭瘛AB或換行等空白無意義字符的ASCII碼都小于32,檢查若大于32,即為有數(shù)據(jù)的節(jié)點(diǎn),同時用break;跳出檢查的循環(huán)
if(XMLnode.childNodes[k].nodeValue.charCodeAt(j) > 32) {
emptyNode = false;
break;
}
}

// If no useful charaters were found, delete the node.
// 若該節(jié)點(diǎn)沒有數(shù)據(jù),就是解釋時的錯誤,將其刪除
if(emptyNode) {
XMLnode.childNodes[k].removeNode();
}
}
}

// Now that all the whitespace nodes have been removed from XMLnode,
// call stripWhitespaceDoublePass on its remaining children.
// 但是還沒完,我們只檢查了所有子節(jié)點(diǎn),而沒有檢查子節(jié)點(diǎn)的子節(jié)點(diǎn),所以以下的循環(huán)將所有子節(jié)點(diǎn)也送到本函數(shù)再繼續(xù)檢查
// 這種函數(shù)自己調(diào)用自己的方法,稱為遞歸,它將一直檢查子節(jié)點(diǎn)的子節(jié)點(diǎn)的子節(jié)點(diǎn)的……一直到該節(jié)點(diǎn)沒有子節(jié)點(diǎn)為止
for(var k = 0; k < XMLnode.childNodes.length; k++) {
stripWhitespaceDoublePass(XMLnode.childNodes[k]);
}
}


現(xiàn)在,我們可以把SWF和XML組成的題目交給一個不會編FLASH的老師了,他只要就會用記事本修改XML文件就行了

全教程完

出處:藍(lán)色理想
責(zé)任編輯:qhwa

上一頁 XML 下一頁

◎進(jìn)入論壇Flash專欄版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
Flash 酷站獵手
中文ID3亂碼問題MX解決方案
用AS2解決中文ID3的亂碼
Flash常用效果-移動模糊效果
Flash MX 2005 制作環(huán)境預(yù)覽
作者文章
Moock在FF2K1大會上的演說
制造像素字體,F(xiàn)LASH MX2K4?
flash mx 2004的項(xiàng)目管理
原 Blueidea 首頁調(diào)查徹底解析
Royale,為程序員設(shè)計的FLASH?
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計大賽開啟
國際體驗(yàn)設(shè)計大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計算如何讓安全問題可控
云計算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:12/121個記錄/頁 轉(zhuǎn)到 頁 共12個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2