本節(jié)我們一起討論authorware 6.5程序語句的基礎(chǔ)知識與相關(guān)的語句編寫技巧等。
本節(jié)導(dǎo)讀:
一、預(yù)備知識
authorware 6.5的程序語句一般都是在計算代碼編輯器里編寫完成并執(zhí)行的,如圖1所示。除了計算圖標外,其它圖標都有附帶執(zhí)行計算代碼的功能,選擇該圖標后按快捷鍵“ctrl”+“=”即可調(diào)出附帶計算代碼編輯器。
二、基本語法與結(jié)構(gòu)
詳細介紹注釋符、各種運算符、條件/循環(huán)判斷語句結(jié)構(gòu)等基本語法與結(jié)構(gòu)。
三、程序語句代碼范例
了解上面的一些程序語句編寫基本知識和技巧后,我們來加深一下認識,嘗試編寫一段程序代碼,在authorware窗口中繪制一個餅狀模擬分布圖。
一、預(yù)備知識
authorware 6.5的程序語句一般都是在計算代碼編輯器里編寫完成并執(zhí)行的,如圖1所示。除了計算圖標外,其它圖標都有附帶執(zhí)行計算代碼的功能,選擇該圖標后按快捷鍵“ctrl”+“=”即可調(diào)出附帶計算代碼編輯器。

圖 1
二、基本語法與結(jié)構(gòu)
1.注釋符"--"
一目了然的注釋既能增強程序的可讀性,又可以方便設(shè)計者日后對程序代碼的修改與維護。authorware計算代碼中默認"--"后面即為注釋文本內(nèi)容,在程序執(zhí)行中并不被執(zhí)行。強烈建議大家養(yǎng)成良好的程序注釋習(xí)慣!
2.運算符
authorware涉及的運算符號主要包括賦值運算符、關(guān)系運算符、算術(shù)運算符、連接運算符、邏輯運算符共五大類。
?。?)賦值運算符":="
把賦值運算符右邊的值賦予左邊的變量,例如variable:=value即把右邊"value"的值賦予左邊的變量"variable",這種運算關(guān)系可以包括數(shù)值、字符串文本等各種authorware支持的數(shù)據(jù)類型的賦值。
語法范本:a:=10
list:=[1,2,3,4,5,6]
popuphandle:=tmscreatepopuplist(windowhandle)
?。?)關(guān)系運算符:=(等于)、<>(不等于)、<(小于)、>(大于)、<=(小于或等于)、>=(大于或等于)。
對兩個值(例如字符串、數(shù)值等)進行比較并返回一個邏輯比較結(jié)果true(1)或false(0),一般用于條件分支判斷。
語法范本:a<>b(a不等于b)
(3)算術(shù)運算符:這類運算符主要是完成程序中一些基本的算術(shù)演算,包括有+(加)、-(減)、 *(乘)、/(除)、**(乘方)。
語法范本:3+5*20(即3+5×20=103)
?。?)連接運算符"^":主要用于兩個或多個字符串之間的連接。
語法范本:a:="authorware"^"6.5"(即a的值為"authorware6.5")
(5)邏輯運算符:~(邏輯非)、&(邏輯與)、|(邏輯或)。
這類運算符主要是完成兩個邏輯值的比較操作,比較返回的結(jié)果是true(1)或false(0),一般用于條件分支判斷。
語法范本:a&b(假如a=1,b=0,則a&b的邏輯值為false,即0)
最后我們還要介紹一下運算符的優(yōu)先級問題,這在復(fù)雜的運算表達式中尤為重要。authorware中運算符的優(yōu)先級問題一般遵循以下原則:(左邊最高,右邊最低)
() 、~ 、** 、*或/ 、+或-、 ^、 =或<=或>=或<>或<或>、 &或|、 :=
其中括號的優(yōu)先級別最高,而賦值符則最低。
例如:n:=(3+4/2)>1&5*2>25
其運算順序是:3+4/2=3+2=5 → 5>1中間結(jié)果a為true(1) →
5*2=10>25中間結(jié)果b為false(0) →
a&b=true&false=1&0=0,最后結(jié)果n即為false(0)3.條件/循環(huán)判斷語句結(jié)構(gòu)
通過條件/循環(huán)判斷語句可以控制程序流程的執(zhí)行方向,完成不同的分支任務(wù)。authorware 6.5主要包括如圖2所示的條件/循環(huán)判斷語句結(jié)構(gòu)。

圖 2
?。?)條件判斷語句
顧名思義條件判斷語句就是用于某種事件或者結(jié)果的判斷上,并根據(jù)判斷結(jié)果決定執(zhí)行哪條分支動作,條件判斷語句結(jié)構(gòu)一般以if開頭,而以end if結(jié)束。例如:
if a>10 then
displayicon(iconid@"hello")
else
eraseicon(iconid@"good")
end if
如果a>10的情況下則執(zhí)行displayicon(iconid@"hello")語句顯示顯示圖標"hello"的內(nèi)容;否則執(zhí)行eraseicon(iconid@"good")語句擦除顯示圖標"good"的內(nèi)容。
一條件判斷語句下允許鑲嵌多重更復(fù)雜的條件判斷語句,例如下面的代碼:
if 條件1 then 執(zhí)行語句1
else if 條件2 then 執(zhí)行語句2
else 執(zhí)行語句3
end if
上述程序代碼段含義是:如果滿足條件1,程序?qū)?zhí)行語句1;而如果滿足條件2,將執(zhí)行語句2;否則的話程序只能執(zhí)行語句3;執(zhí)行完這個條件結(jié)構(gòu)后,程序自動由end if來結(jié)束整個條件判斷。
(2)循環(huán)判斷語句
循環(huán)判斷語句可以在條件仍然滿足的情況下重復(fù)執(zhí)行某一段程序代碼,而被重復(fù)執(zhí)行的這段程序代碼通常被稱為循環(huán)體。authorware 6.5支持的循環(huán)判斷語句結(jié)構(gòu)都以repeat開頭,end repeat結(jié)束。例如:
repeat with i:=1 to 10
str:=string(i)
end repeat
即自變量i在1≦i≦10的范圍內(nèi)將重復(fù)執(zhí)行賦值語句str:=string(i),每循環(huán)一次i自增+1,直到i值大于10結(jié)束退出循環(huán)。
authorware支持的循環(huán)判斷語句結(jié)構(gòu)共有以下幾類(見圖2):
repeat with counter:= start [down] to finish
循環(huán)體語句
end repeat
這種循環(huán)結(jié)構(gòu)中,值start和finish分別是循環(huán)的上下限,當循環(huán)執(zhí)行到計數(shù)器counter超出循環(huán)范圍時,將自動退出循環(huán)。此種循環(huán)結(jié)構(gòu)可以指定計數(shù)器counter的自增方式,即每次遞增1還是遞減1(down)。
repeat with 變量in 列表
循環(huán)體語句
end repeat
這種循環(huán)結(jié)構(gòu)通常被應(yīng)用在數(shù)組上,如果變量元素在指定的列表中,將重復(fù)執(zhí)行循環(huán)體的程序語句;每執(zhí)行完一次循環(huán)后,就會自動指定列表中的下一個變量元素,直到該變量元素超出列表索引范圍,才執(zhí)行end repeat結(jié)束循環(huán)。
repeat while條件
循環(huán)體語句
end repeat
這種循環(huán)結(jié)構(gòu)相對簡單,即在條件滿足的情況下循環(huán)執(zhí)行循環(huán)體的程序語句,直到條件不滿足為止才執(zhí)行end repeat結(jié)束循環(huán)。
提示技巧
初學(xué)者如果還不熟悉authorware 6.5的條件/循環(huán)判斷語句結(jié)構(gòu),可以通過點擊計算代碼編輯器窗口(如圖1)工具欄中的 圖標按鈕調(diào)出如圖2所示的語句結(jié)構(gòu)插入窗口,這也是authorware 6.5的新增輔助設(shè)計工具之一。
三、程序語句代碼范例
了解上面的一些程序語句編寫基本知識和技巧后,我們來加深一下認識,嘗試編寫一段程序代碼,在authorware窗口中繪制一個餅狀模擬分布圖。
啟動authorware 6.5并新建一個a6p文件,在流程線上拖入一個計算圖標,并輸入以下程序代碼:
--//相關(guān)變量初始化
orgx := 200
orgy := 200
radius := 150
pensize:=2
multiplier:=10
percentages:="30,15,20,35"
num_angles:=linecount(percentages,",")
--//繪制餅狀分布模擬圖
repeat with i := 1 to num_angles
percentage := getline(percentages,i,i,",")
if i = 1 then
setframe(true , rgb(255,0,0))
else if i=2 then
setframe(true , rgb(0,255,0))
else if i=3 then
setframe(true , rgb(0,0,255))
else if i=4 then
setframe(true , rgb(255,255,0))
end if
start:=finish
finish:=finish+percentage
repeat with j:=start*multiplier to finish*multiplier
angle := (((50 - (j*(1/multiplier))) * pi / 50))
x := sin(angle) * radius
y := cos(angle) * radius
line(pensize, orgx,orgy,orgx+x,orgy+y)
end repeat
total := total + percentage
end repeat
輸入完畢后按快捷鍵ctrl+r調(diào)試執(zhí)行,您將看到窗口屏幕上自動繪制出一個餅狀模擬分布圖,如圖3所示。

圖 3
這里魔巖并不要求大家對上述的代碼完全讀懂(因此本文也不做詳細分析),我們的重點是給大家一個感性認識,使大家了解并掌握authorware 6.5程序語句與結(jié)構(gòu)的編寫特點和相關(guān)基礎(chǔ)知識即可。
下節(jié)內(nèi)容:authorware 6.5函數(shù)與變量的基本知識?! ?font color=#000000>源文件下載
新聞熱點
疑難解答