李雪芹++王智偉
摘要:FLASH作為多媒體課件制作軟件之一,其強大的交互功能是其他軟件所無法比擬的,而交互功能的實現(xiàn)主要是通過按鈕與其內(nèi)嵌的ActionScript語言配合在一起來實現(xiàn)的。這篇文章主要講述如何利用ActionScript語言中的條件語句制作多媒體課件的測評部分——單項選擇題自動評分系統(tǒng)。采用按鈕與ActionScript2.0中的條件語句相結(jié)合,實現(xiàn)對用戶所選答案的顯示及對錯判斷、得分,從而實現(xiàn)單項選擇題的自動閱卷工作。
關(guān)鍵詞:圖形元件;按鈕元件;IF條件語句;靜態(tài)文本;動態(tài)文本的text屬性
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2016)01-0090-04
Using the ActionScript Language Radio Grading System
LI Xue-qin, WANG Zhi-wei
(Xuchang Technical and Economic School, Changge 461500, China)
Abstract: FLASH as one of the multimedia courseware making software, its powerful interactive function is unmatched by other software, and the realization of the interactive function is realized mainly through the button and the embedded ActionScript language. This article mainly talks about how to make use of the conditional statements in the ActionScript language to make the evaluation of the multimedia courseware. The use of buttons and ActionScript2.0 in the combination of conditional statements, to achieve the user's answers to the display and the wrong judgments, score, so as to achieve the individual choice of the automatic scoring.
Key words: graphic element; button element; IF conditional statements; static text; text properties of dynamic text
ActionScript編程語言是Adobe公司專為FLASH設(shè)計的交互性腳本語言,是一種面向?qū)ο蟮木幊陶Z言。FLASH軟件中按鈕的主要作用是制作交互動畫,但僅僅有按鈕還不能控制動畫的交互,必須與ActionScript編程語言中的語句配合才能實現(xiàn)交互動畫的制作。下面我們就利用按鈕與ActionScript2.0語言中的條件語句來制作單項選擇題自動評分這一案例。
1 案例描述
用戶在每道題的選項上單擊,答案區(qū)域會顯示所選答案的序號;單擊“提交”按鈕后,出現(xiàn)紅色“改卷中,請稍等……”的提示,同時在對錯區(qū)域顯示所選答案的判斷;之后在成績區(qū)域顯示所得分?jǐn)?shù)。單擊“重做”按鈕后,界面重新初始化,答案顯示區(qū)域清空,對錯顯示區(qū)域清空,成績顯示區(qū)域清空。
2案例展示
1)初始界面。如圖1所示。
圖1 初始界面
2)單擊“提交”按鈕后處于等待狀態(tài)的界面。如圖2所示。
圖2 改卷等待界面
3)改卷后成績出來時的界面。如圖3所示。
圖3 成績界面
4) 單擊“重做”按鈕后的界面與初始界面一樣。如圖1所示。
3案例分析
1)單項選擇題的題目及選項使用文本工具制作成靜態(tài)文本。
2)每道題括號中的答案及對錯顯示使用文本工具制作成動態(tài)文本,并分別起實例名。
3)標(biāo)題使用文本工具制作成靜態(tài)文本,添加“時間軸特效”→“投影”效果。
4)得分情況使用文本工具制作成動態(tài)文本,并起實例名。
5)提交與重做制作成按鈕元件。
6)每個選項上要放置透明按鈕元件實例,并添加相應(yīng)條件語句用于交互。
7)改卷等待動畫使用“時間軸特效” →“展開”效果制作。
4案例制作步驟
1)新建一個FLASH文件(ActionScript 2.0),設(shè)置舞臺合適大小 (本例采用800*600像素),其它采用默認配置。
2)創(chuàng)建元件:
①創(chuàng)建具有陰影效果的“標(biāo)題”圖形元件。
單擊“插入”→“新建元件”命令打開“新建元件”對話框,輸入元件名稱:“標(biāo)題”,類型:“圖形”,單擊“確定”按鈕,進入元件編輯窗口。在舞臺中輸入“單項選擇題練習(xí)”,設(shè)置相對于舞臺垂直居中對齊和水平居中對齊。選擇“插入”→“時間軸特效”→“效果”→“投影”命令,設(shè)置陰影偏移量X軸與Y軸都為5,其它的可以采用默認配置,單擊“確定”按鈕,這樣就可以制作出具有投影效果的標(biāo)題文字。同時圖層1將自動改名為“投影1”,庫中自動產(chǎn)生了一個名為“投影1”的圖形元件。返回場景。
②創(chuàng)建具有展開效果的“等候改卷”圖形元件。
單擊“插入”---“新建元件”命令,打開“新建元件”對話框,輸入元件名稱:“等候改卷”,類型:“圖形”,單擊“確定”按鈕,進入元件編輯編輯窗口。在舞臺中輸入“改卷中,請稍等……”,設(shè)置相對于舞臺垂直居中對齊和水平居中對齊。選擇“插入” →“時間軸特效” →“效果” →“展開”命令,設(shè)置展開持續(xù)時間:50幀,展開方向:向右,其它采用默認配置,單擊“確定”按鈕。這樣就制作出了具有展開效果的等候文字,同時圖層1自動改名為“展開2”,庫中自動產(chǎn)生了一個名為“展開2”的圖形元件。返回場景。
③創(chuàng)建具有“透明效果”的按鈕元件。
單擊“插入” →“新建元件”命令,打開“新建元件”對話框,輸入元件名稱:“透明按鈕”,類型:“按鈕”,單擊“確定”按鈕,進入元件編輯編輯窗口。在“彈起”幀上繪制一個無邊框色的矩形,填充色為透明(設(shè)置方法:將填充色的Alpha值設(shè)置為0%),在點擊幀上插入普通幀。返回場景。
④創(chuàng)建“提交”與“重做”按鈕。
單擊“插入”---“新建元件”命令,打開“新建元件”對話框,輸入元件名稱:“提交”,類型:“按鈕”,單擊“確定”按鈕,進入元件編輯編輯窗口。圖層1:在“彈起”幀上繪制一個任意顏色的橢圓,在點擊幀上插入普通幀。新建圖層2:在“彈起”幀上輸入文字“提交”,在點擊幀上插入普通幀(注意文字的顏色不要與橢圓的顏色一樣,否則就看不到文字了)。返回場景。
打開庫面板,右擊“提交”按鈕元件,從快捷菜單中選擇直接復(fù)制,元件名稱為:“重做”,類型:“按鈕”,單擊“確定”按鈕。在庫中就自動產(chǎn)生了一個“重做”按鈕元件,但內(nèi)容與“提交”按鈕一樣,雙擊“重做”按鈕元件圖標(biāo),打開“重做”按鈕元件編輯界面,直接修改圖層2的內(nèi)容為“重做”就可以了。返回場景。這樣做的好處是可以快速的做出兩個大小一樣,對齊方式一樣的按鈕元件,當(dāng)然也可以重新從新建元件做起,方法與上述做按鈕的方法一致。還有一種方法是直接從公用庫中拖出一個按鈕元件到舞臺,然后雙擊這個按鈕元件進入編輯界面,把文字層的內(nèi)容進行修改也可以使用。
3)主場景設(shè)置:
①將圖層1命名為:“背景”。
在第1幀上導(dǎo)入一張背景圖片,利用對齊面板中的“匹配大小” →“匹配寬和高”按鈕,設(shè)置背景圖片匹配舞臺大小,垂直居中對齊和水平居中對齊。在第50幀上插入幀,讓背景延時至50幀。
②插入圖層2,并改名為“題目”。
打開庫面板,將投影2圖形元件拖入舞臺合適位置作為單選題的標(biāo)題放在第1幀上。在標(biāo)題下面插入靜態(tài)文本框。使用“文本工具”將單選題的內(nèi)容依次輸入。在第50幀上插入幀,讓題目延時至50幀。
③插入圖層3,并改名為“答案及對錯判斷”。
第1幀,在每一題的括號中分別插入動態(tài)文本,并在屬性欄中輸入實例名為da1_txt,da2_txt,…,da10_txt,用于顯示學(xué)生做選答案。在每個題的右上角分別插入動態(tài)文本,并在屬性欄中輸入實例名為dc1_txt,dc2_txt,…,dc10_txt,將這些動態(tài)文本設(shè)置的字號稍大些,字體顏色設(shè)置為紅色,字型加粗,用于顯示學(xué)生做選答案的對錯。在第50幀上插入幀。
④插入圖層4,改名為“按鈕”。
在第1幀上將“提交”按鈕與“重做”按鈕拖入舞臺合適的位置,如上圖1所示。從庫面板中將“透明按鈕”拖至舞臺多次,放于每個題的選項上,并調(diào)整大小與選項的大小一致。在第50幀上插入幀。
在每個選項的透明按鈕上添加代碼。例:第1題的第A選項上代碼為:
on (release) {
d1=0;da1 _txt.text="A";
} //按下此按鈕后,第1題后的括號中顯示A,錯誤答案,不得分。
第1題的第B選項上代碼為:
on (release) {
d1=10;da1 _txt.text="B";
} //按下此按鈕后,第1題后的括號中顯示B,正確答案,得10分。
第1題的第C選項上代碼為:
on (release) {
d1=0;da1 _txt.text="C";
} //按下此按鈕后,第1題后的括號中顯示C,錯誤答案,不得分。
第1題的第D選項上代碼為:
on (release) {
d1=0;da1 _txt.text="D";
} //按下此按鈕后,第1題后的括號中顯示D,錯誤答案,不得分。
下面其它題后的透明按鈕上都輸入如上代碼,只是控制每個題答案的變量不一樣,要改一下,比如:第2題將d1改為d2,da1_txt.text=" "改為da2_txt.text=" ",設(shè)置一個正確答案得分,其它錯誤答案不得分。以后的題依次類推。
“提交”按鈕代碼:
on (release) {
gotoAndPlay(2);
} //轉(zhuǎn)到第2幀去執(zhí)行。
“重做”按鈕代碼:
on (release) {
da1_txt.text =""; da2_txt.text =""; da3_txt.text ="";da4_txt.text =""; da5_txt.text ="";
da6_txt.text =""; da7_txt.text =""; da8_txt.text ="";da9_txt.text =""; da10_txt.text=""; //將每一題的答案動態(tài)文本框置空。
dc1_txt.text =""; dc2_txt.text =""; dc3_txt.text ="";dc4_txt.text ="";dc5_txt.text ="";
dc6_txt.text ="";dc7_txt.text =""; dc8_txt.text ="";dc9_txt.text ="";dc10_txt.text=""; //將每一題的對錯動態(tài)文本框置空。
cj_txt.text="" //將成績欄置空
gotoAndStop(1); //轉(zhuǎn)到第1幀重新去執(zhí)行。
}
⑤插入圖層4,改名為:“等候改卷”。在第二幀插入空白關(guān)鍵幀,將“等候改卷”圖形元件拖入舞臺下邊合適位置。在第50幀上插入空白關(guān)鍵幀,讓等候改卷消失。
⑥插入圖層5,改名為:“背景音樂”。在第二幀插入空白關(guān)鍵幀,導(dǎo)入一首美妙動聽的輕音樂,讓學(xué)生在交卷后的焦急等待中放松一下心情。在第50幀上插入空白關(guān)鍵幀,讓音樂停止。
⑦插入圖層6,改名為:“成績”。第一幀,在標(biāo)題的右邊插入一動態(tài)文本,在屬性面板中變量欄輸入變量名為:cj_txt。打開動作面板。輸入如下代碼:
stop(); //控制動畫停止播放。
d1=0; d2=0; d3=0; d4=0; d5=0; d6=0;d7=0;d8=0; d9=0;d10=0;//分別存放每題的得分。
df=0; //存放總得分,初始值為0。
cj_txt.text="" //得分欄顯示為空
在第50幀上插入空白關(guān)鍵幀,然后打開動作面板,輸入如下代碼:
if (d1= =10) {
dc1_txt.text="√";
}else {
dc1_txt.text="×";
} //如果第1題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d2= =10) {
dc2_txt.text="√";
}else {
dc2_txt.text="×";
} //如果第2題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d3= =10) {
dc3_txt.text="√";
}else {
dc3_txt.text="×";
} //如果第3題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d4= =10) {
dc4_txt.text="√";
}else {
dc4_txt.text="×";
} //如果第4題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d5= =10) {
dc5_txt.text="√";
}else {
dc5_txt.text="×";
} //如果第5題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d6= =10) {
dc6_txt.text="√";
}else {
dc6_txt.text="×";.
} //如果第6題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d7= =10) {
dc7_txt.text="√";
}else {
dc7_txt.text="×";
} //如果第7題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d8= =10) {
dc8_txt.text="√";
}else {
dc8_txt.text="×";
} //如果第8題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d9= =10) {
dc9_txt.text="√";
}else {
dc9_txt.text="×";
} //如果第9題得分,說明答案正確就顯示對號√,否則顯示錯號×。
if (d10= =10) {
dc10. _txt.text="√";
}else {
dc10_txt.text="×";
} //如果第10題得分,說明答案正確就顯示對號√,否則顯示錯號×。
df=d1+d2+d3+d4+d5+d6+d7+d8+d9+d10; //計算總得分。
cj_txt.text=df //成績欄顯示總得分
stop();
4)保存文件。
5) 測試文件。
5案例總結(jié)
本案例主要通過FLASH中的按鈕與其內(nèi)嵌的ActionScript2.0編程語言中的IF條件語句制作了一個單項選擇題的模板,在本案例中充分使用了動態(tài)文本的text屬性來顯示所選答案與對錯判斷。其中顯示對錯的語句也可以放在題后的每個透明按鈕實例的動作語句中,只是每做一道題就可以直接顯示出對錯來。如果制作單元小測,建議把顯示對錯的語句放在最后一個關(guān)鍵幀的動作語句中;如果制作課堂練習(xí),建議把顯示對錯的語句放在每道題后的透明按鈕實例的語句中。本案例主要適用于制作多媒體課件的測評部分。
參考文獻:
[1] 陳民,吳婷.Flash CS3動畫設(shè)計與制作[M].南京: 鳳凰出版?zhèn)髅郊瘓F,江蘇教育出版社,全國中等職業(yè)學(xué)校計算機類通用教材,2010.
[1]章精設(shè),繆亮,白香芳.Flash ActionScript 2.0編程技術(shù)教程[M].北京:清華大學(xué)出版社,2005.