在如圖13-11所示的流程圖中,【value】交互響應圖標下含有如下3個分支,分別完成不同的功能。
(1)輸入一個合理數值使指針轉動。
【*--this sets the gauge.】文本輸入交互響應在用戶輸入一個1~25之間的數值時將產生響應。
該分支的運算圖標中的代碼如圖13-13所示。
圖13-13 【*--this sets the gauge.】分支運算圖標中的代碼
該代碼執行如下兩個語句:
gaugestart:=gaugestop
gaugestop:=entrytext
這表示程序首先將上次轉動的結束幀賦予gaugestart變量作為新的起始幀,而把用戶剛才輸入的數值賦予gaugestop變量作為新的結束幀。
由于動畫文件屬性設置中將gaugestart和gaugestop兩個變量作為動畫播放的起始幀和結束幀,兩個變量值的改變使動畫畫面產生變化,其結束幀正好是用戶輸入的數值對應的幀。
及時點評 引入的動畫共25幀,每一幀對應指針轉動一格的位置,因此,動畫播放停止在第幾幀,畫面上指針便轉動到第幾格。當用戶輸入指針能轉動值時,該數值即被作為動畫播放的結束幀,因此,動畫指針能按用戶輸入值準確轉動。
(2)輸入一個不合理數值
【value】交互響應圖標下的“entrytext<1|entrytext>25”條件交互響應分支處理用戶輸入不合理值的情況。該分支響應條件為“用戶輸入數值小于1或者大于25”。
當用戶輸入一個小于1(或大于25)的數值時,程序將首先進入條件交互響應分支,該分支下的顯示圖標將顯示一行文字提示用戶應輸入1~25之間的數值,程序返回交互響應入口處等待用戶重新輸入。
及時點評 “entrytext<1”同“entrytext>25”之間是“或”的關系。因此,只要有一個成立,條件便滿足。而且該條件交互響應分支放在【*】文本輸入響應分支是左邊是合理的,因為程序分支由左向右執行,因此只要輸入的數字值小于1或大于25,程序首先進入條件響應分支而不會進入更右一些的文本輸入響應分支。倘若將條件響應分支放到文本輸入響應的右邊,那么輸入數值即便小于1或大于25,程序也將首先進入文本輸入響應分支控制指針轉動而不會進入后面的條件響應分支,這自然沒有符合設計者的要求。因此,條件響應分支的位置擺放是有講究的。
新聞熱點
疑難解答