變量是其值可以改變的量,可以利用變量存儲各種數據,比如表達式的計算結果、用戶輸入的字符串,以及對象的狀態等,也可以利用變量獲取某些系統信息,比如系統當前的時間、日期等。同變量相對的概念是常量,用于表示固定不變的量,比如on和true都表示邏輯“真”,off和false都表示邏輯“假”,其他常量還有圓周率π和歐拉常量e等。
在aws中所有的變量都是全局變量,即在整個程序范圍內都起作用,沒有作用域的限制。
根據變量存儲的數據類型,可以將變量分為7大類。
數值型變量用于存儲具體的數值。數值型變量能夠存儲的實數范圍是−1.7×10308~ +1.7×10308,整數范圍是−2 147 483 648~ 2 147 483 647。
字符型變量用于存儲字符串。由雙引號括起來的一連串字符稱做字符串,構成字符串的字符可以是數字、字母、符號,比如"authorware 7"、"5*4/3"、"2003-9-26"都是字符串,在aws中,一個字符型變量最多可以容納524 288(512k)個字符。
邏輯型變量用于存儲true(真)或false(假)兩種值,它們的值只能在這兩種狀態之間轉換。同時aws將字符串"true"、"on"、"yes"、"t"(大小寫都可)和非0的數值都視為“真”,其他任意字符串或數值都視為“假”。
符號型變量由符號“#”帶上一連串字符構成,例如#awactiveif就是一個符號型變量。在aws中符號型變量主要作為對象的屬性使用。
列表型變量用于存儲一組常量或變量,這些常量或變量稱為元素。在aws中,一共有兩種類型的列表:
(1)線性列表。在線性列表中每個元素是一個單獨的值,例如[1, 2, 3, "a", "b", "c"]就是一個線性列表。
(2)屬性列表。在屬性列表中每個元素由一個屬性及其對應的值構成,屬性和值之間由冒號分隔,例如[#type:#text, #rect:rect(142, 76, 272, 92), #text:"hello, welcome."]就是用于描述一個文本對象的屬性列表。
坐標變量是一種特殊的列表型變量,用于描述一個點在【演示】窗口中的坐標,其形式為point(x,y),其中x和y分別代表一個點距離【演示】窗口左邊界和上邊界的像素數目。
矩形變量也是一種特殊的列表型變量,用于定義一個矩形區域,其形式為rect(x1, y1, x2, y2)或rect( point(x1, y1), point( x2, y2)),其中(x1,y1)指定矩形的左上角坐標,(x2,y2)指定矩形右下角的坐標。
從編程的角度來看,aws是一種“弱類型”語言,對變量類型的要求不是十分嚴格,往往會根據運算符來自動轉換變量的類型:例如將字符串與數值型變量進行數學運算時,自動將單純由數字和小數點組成的字符串當做數值型變量,將其他類型的字符當做數值0來處理,比如表達式"authorware 6.5"+0.5的結果是7。將邏輯型變量同數值型變量或字符串變量進行運算時,true將作為1處理,false將作為0處理,比如表達式true+9的結果是10,而表達式false^9的結果是字符串"09",在編程時要對此多加注意。
從來源情況看,aws中的變量分為兩種:系統變量和自定義變量。
系統變量是aws中預先定義過的一些變量,它們用于跟蹤系統中的信息,比如當前系統中的時間、capslock鍵是否被按下、用戶當前的得分情況等。系統變量根據用途被分為11類:
計算機教學管理變量,主要用于跟蹤學生在cmi系統中的學習狀態。
決策判斷變量,用于配合authorware決策判斷分支結構工作。
文件管理變量,反映當前文件系統和文件操作的狀態。
框架管理變量,用于配合authorware框架結構工作。
常規變量,用于反映系統的狀態,比如鼠標指針的當前坐標、事件隊列的內容等。
繪圖變量,用于配合繪圖函數工作。
設計圖標管理變量,用于反映設計圖標的狀態,比如設計圖標的id號。
交互管理變量,用于配合authorware交互作用分支結構工作。
網絡管理變量,用于反映程序運行期間的相關網絡狀態。
時間管理變量,用于監視系統的時間和日期,以及程序運行的時間。
視頻管理變量,用于反映當前dvd電影的一些信息。
部分系統變量可以被賦值,比如可以通過設置movable為true或false,來控制當前設計圖標中的顯示對象是否可以被用戶拖動,通過設置checked@"buttonicontitle"為true或false,來改變一個按鈕的選中狀態。另一部分系統變量的值由authorware進行維護,設計人員只能從其中取得信息,而不能對其進行賦值,比如可以通過系統變量cursorx、cursory取得當前鼠標指針的位置坐標,但是不能通過賦值語句為鼠標指針指定一個坐標。
許多系統變量可以結合引用運算符“@”(讀為"at")和設計圖標的名稱來使用,以取得或設置特定設計圖標的信息,例如iconid@"icontitle"返回指定設計圖標(名稱為icontitle)的id號碼,movable@"icontitle"返回指定設計圖標中的顯示對象是否可以被用戶拖動,這時變量被稱為圖標變量。
本套叢書中的《authorware 7.0變量與函數參考手冊》對authorware 7.0提供的所有系統變量進行了詳細說明。
自定義變量是由設計人員自己定義的變量,通常用于保存計算結果或者用于保存系統變量無法存儲的信息。自定義變量的名稱必須是惟一的,不能與系統變量或其他自定義變量重名,而且只能以字母或下劃線"_"開頭,長度限制在40個字符以內。設計人員同樣可以定義自己的圖標變量。
新聞熱點
疑難解答