(29) 打開font下拉列表框,選擇“宋體”。
(30) 打開size下拉列表框,選擇10。
(31) 打開mode下拉列表框,選擇transparent。
(32) 單擊ok按鈕,關閉打開的對話框。
(33) 將群組圖標命名為try。
(34) 雙擊群組圖標的標識符,打開properties:response對話框。
(35) 單擊time limit標簽,打開tries limit選項卡。
(36) 在time limit文本框內輸入6。
(37) 啟用show time remaining復選框。
(38) 啟用restart for each try復選框。
(39) 打開interruption下拉列表框,選擇continue timing選項。
(40) 單擊response標簽,打開response選項卡。
(41) 打開branch下拉列表框,選擇exit interaciton選項。
(42) 單擊ok按鈕,關閉打開的對話框。
(43) 將顯示圖標拖動到“嘗試”交互圖標的下方,并命名為sorry。
(44) 雙擊sorry圖標,打開演示窗口。
(45) 在演示窗口內輸入“輸入字母超時,請重新開始!”。
(46) 將等待圖標拖動到sorry圖標的下方。
(47) 雙擊等待圖標,將等待時間確定為2秒,并禁用其他的所有復選框。
(48) 將計算圖標拖動到等待圖標的下方,并命名 為quit。
(49) 雙擊quit圖標,打開計算圖標的編輯窗口。
(50) 在編輯窗口內輸入quit (1)。
(51) 關閉打開的編輯窗口之后,得到如圖10-18所示的課件流程圖。
(52) 播放并測試課件文件。
如圖10-19所示,播放課件時,時鐘將開始計時,用戶可直接在文本框內輸入a~g的英文字母,輸入完畢之后,單擊回車鍵表示結束。如果輸入正確,并且沒有超時,那么將顯示abcdefg結果圖標的內容。如果超時,或未在確定的時間6秒內輸入完畢,那么將顯示sorry圖標的內容。
由于啟用了time limit選項卡內的restart for each try復選框之后,因此當用戶輸入失敗但沒有超時,可重新輸入將重新計時,而不是接著上一次計時??紤]到僅僅要求在規定的時間內輸入完畢,沒有禁用該復選框。
通過課件的演示,發現存在這樣的問題:當未能在規定的時間內完成abcdefg的輸入時,將顯示輸入錯誤信息,并經過2秒種的等待之后自動退出,它不能滿足希望通過反復訓練提高輸入水平的要求。為了實現這個目標,可對課件流程圖進行調整,得到如圖10-20所示的流程圖。
在sorry的下方添加一個goto計算圖標,在編輯窗口內輸入goto(iconid@"bj"),表示當輸入失敗時,將重新返回到bj圖標開始重新輸入字母的測試。為了給課件提供退出的時機,可將原來的quit圖標移動到try圖標的右側,并將它的交互響應類型設置為button,這樣單擊quit按鈕時,就可以關閉課件的演示窗口。
一個經典的游戲項目就是要求用戶單擊屏幕上移動的小球,小球移動的方向是不確定的,可以通過一組隨機數來實現。如果能夠在給定的時間內擊中小球,那么將進一步縮短小球移
動的時間,提高擊中的難度。在本例中小球的起始移動時間是5秒,最短移動時間是2秒。如果在規定的時間內未擊中小球,那么將不改變小球的移動時間。為了給出提示,在小球運動的過程中,屏幕上將顯示時鐘,記錄剩余的擊中時間。
圖10-19 播放課件 圖10-20 調整后的流程圖
擊中小球
(1) 單擊工具欄的new按鈕,創建新的課件文件。
(2) 將計算圖標拖動到流程線上,將它命名為time。
(3) 雙擊time計算圖標,打開編輯窗口。
(4) 在編輯窗口內輸入“t:=5”。
(5) 關閉編輯窗口之后,打開new variable對話框,單擊ok按鈕,完成小球運行時間的初始化。
(6) 將計算圖標拖動到流程線上,將它命名為begin。
(7) 雙擊begin計算圖標,打開編輯窗口。
(8) 在編輯窗口內輸入如圖10-21所示的內容,將窗口的大小定義為300×220像素,通過random函數獲得小球移動的坐標。
(9) 關閉編輯窗口之后,將連續打開兩個new variable對話框,單擊兩次ok按鈕。
(10) 將顯示圖標拖動到begin的下方,將它命名為bg。
(11) 打開bg圖標的演示窗口,使用繪圖工具確定矩形框,作為小球移動的區域。
(12) 將矩形邊框的顏色設置為紅色,并使用中等寬度的邊框。
(13) 將顯示圖標拖動到bg的下方,將它命名為object。
(14) 打開object圖標的演示窗口,使用繪圖工具繪制移動的小球(如圖10-22所示)。
(15) 使用綠色填充小球。
(16) 將移動圖標拖動到object的下方,命名為move。
(17) 雙擊打開move圖標的properties:motion icon對話框。
(18) 單擊motion標簽,打開motion選項卡(如圖10-23所示)。
(19) 打開type下拉列表框,選擇direct to point。
(20) 在timing文本框內輸入t。
圖10-21 設定小球移動的坐標 圖10-22 繪制移動的小球
圖10-23 motion選項卡
(21) 打開concurrency下拉列表框,選擇concurrent。
(22) 單擊layout標簽,打開如圖10-24所示的layout選項卡。
(23) 選中distionation單選按鈕,將x,y輸入到右側的兩個文本框內。
(24) 單擊ok按鈕,關閉打開的對話框。
(25) 將交互圖標拖動到流程線上,將它命名為“時間”。
圖10-24 layout選項卡
(26) 將群組圖標拖動到“時間”圖標的右側,打開response type對話框。
(27) 選中hot object單選按鈕之后,單擊ok按鈕。
(28) 將群組圖標命名為final。
(29) 雙擊final的交互標識符,打開properties:response對話框。
(30) 在hot object選項卡內,選擇演示窗口的小球。
(31) 打開match下拉列表框,選擇single_click。
(32) 啟用hightlight復選框。
(33) 單擊cursor右側的按鈕,在打開的對話框內選擇十字星作為鼠標的形狀。
(34) 雙擊群組圖標,打開二級流程圖窗口。
(35) 將顯示圖標拖動到流程線上,命名為“恭喜”。
(36) 雙擊“恭喜”圖標,打開演示窗口。
(37) 在演示窗口內輸入“恭喜,你已經在{t}秒內擊中目標!”。
(38) 使用紅色、宋體及12格式化輸入的文本。
(39) 將等待圖標拖動到“恭喜”圖標的下方。
(40) 雙擊等待圖標,在打開的屬性設置對話框內將等待時間確定為2秒。
(41) 將計算圖標拖動到等待圖標的下方,將它命名為t = t–1。
(42) 雙擊計算圖標,打開編輯窗口。
(43) 在編輯窗口內輸入如圖10-25所示的內容。
(44) 關閉編輯窗口之后,得到如圖10-26所示的二級流程圖。
圖10-25 編輯計算圖標 圖10-26 final圖標的流程圖
(45) 將群組圖標拖動到final的右側,打開response type對話框。
(46) 選中time limit單選按鈕,單擊ok按鈕。
(47) 雙擊群組圖標的標識符,打開properties:response對話框。
(48) 單擊time limit標簽,打開time limit選項卡。
(49) 在time limit文本框內輸入t。
(50) 啟用show time remaining復選框。
(51) 單擊ok按鈕,關閉打開的properties:response對話框。
(52) 雙擊t群組圖標,打開二級流程圖。
(53) 將顯示圖標拖動到流程線上,命名為“時間已到”。
(54) 雙擊打開演示窗口,輸入“{t}秒已到!你沒有擊中目標!”。
(55) 將等待圖標拖動到流程線上。
(56) 雙擊打開等待圖標的屬性設置對話框,將等待時間確定為2秒。
(57) 將計算圖標拖動到等待圖標的下方,并命名為t = t。
(58) 雙擊打開計算圖標的編輯窗口。
(59) 輸入goto(iconid@"begin"),表示輸入失敗之后,返回到開始。
(60) 將計算圖標拖動到t群組圖標的右側,將它命名為quit。
(61) 雙擊打開計算圖標的編輯窗口,在其中輸入quit (1)。
(62) 單擊播放按鈕,調整對象及按鈕的位置。
(63) 測試并保存課件文件。
final群組圖標用于響應在規定時間內成功地單擊小球的操作,當單擊小球成功之后,將自動把單擊的時間減少1秒,提高單擊的難度。單擊成功之后,將在屏幕上顯示如圖10-27所示的提示信息,并且經過2秒鐘的等待之后,繼續下面的單擊嘗試。
t群組圖標用于響應在規定時間內未能單擊小球的操作。單擊失敗之后,將在屏幕上顯示如圖10-28所示的提示信息。允許的單擊時間并沒有減少,只是將控制流程轉向begin圖標,重新開始新一輪的單擊游戲。另外,為了增加單擊的樂趣,可以考慮當單擊失敗時,延長單擊時間。
圖10-27 單擊小球成功的信息 圖10-28 單擊小球失敗的信息
新聞熱點
疑難解答