打開程序,屏幕上顯示如圖6-1所示的程序流程圖和如圖6-2所示的程序運行主畫面。
圖6-1 程序流程圖 圖6-2 程序運行主畫面
在圖6-1中,【run to view documentation】設計圖標完成發布一個聲明并運行程序到主畫面的功能,其余設計圖標則完成運行程序實例的功能。
在如圖6-2所示的主畫面中有如下3個按鈕:
l 【introduction】——程序簡介
l 【how it’s done】——程序流程圖標設計說明
l 【run the example】——運行實例
單擊【run the example】按鈕,程序進入實例演示分支,其運行畫面如圖6-3所示。
圖6-3 實例運行畫面
畫面左側窗口中有一個圓形圖案,右側上方有【release】和【lock】兩個按鈕。單擊【release】按鈕后,用戶可用鼠標拖動圓形圖案移動;單擊【lock】按鈕后,圓形圖案則不能被拖動。
該程序的所有功能是由【lock/unlock】交互響應圖標完成的,在交互響應圖標中繪制了一個圓形圖案。
如圖6-4所示為交互圖標的“display”屬性設置對話框。
圖6-4 【lock/unlock】交互響應圖標的“display”屬性設置對話框
可以看出,該圖標處于102層,這是為了使圓形圖案處于窗口上層而不會被其他圖形遮住。
如圖6-5所示為交互圖標的“layout”屬性設置對話框。
圖6-5 【lock/unlock】交互響應圖標的“layout”屬性設置對話框
可以看到,“movable”欄被設置為“on screen”,這表示圖形可在屏幕上移動。
該交互響應下有兩個按鈕響應分支,這就是如圖6-3所示的右側上方的兩個功能按鈕。單擊這兩個按鈕即可移動對象。
單擊【release】按鈕,可看到該分支執行代碼如圖6-6所示。
圖6-6 【release】分支執行代碼
該代碼首先檢查本程序流程中所有設計圖標的類型,其中主要應用了icontype系統函數進行判斷,其應用格式如下:
number:=icontype(iconid @"icontitle")
當number=1時,圖標類型為顯示(display)圖標;
當number=2時,圖標類型為移動(motion)圖標;
當number=3時,圖標類型為擦除(erase)圖標;
當number=4時,圖標類型為交互(interactive)圖標;
當number=5時,圖標類型為決策(decision)圖標;
當number=6時,圖標類型為群組(map)圖標;
當number=7時,圖標類型為等待(wait)圖標;
當number=8時,圖標類型為計算(calculate)圖標;
當number=9時,圖標類型為電影(movie)圖標;
當number=10時,圖標類型為聲音(sound)圖標;
當number=11時,圖標類型為視頻(video)圖標;
當number=12時,圖標類型為框架(frame)圖標;
當number=13時,圖標類型為導航(navigate)圖標;
當number=14時,圖標類型為插件(sprite xtra)圖標。
完成圖標類型判斷后,將所有設計圖標中的對象設為可移動,設置語句如下:
movable @_childicon:=true
設置完畢后即可實現用鼠標拖動圓形圖案在屏幕中移動。
及時點評 對一個程序中將會被用戶拖動的對象,必須將其屬性設置為可移動??梢苿訉傩缘脑O置有兩個方法,一是在對象的顯示屬性設置對話框中的movable欄選擇好移動方式,(例如on screen方式表示允許對象在屏幕上移動);二是用movable變量設置對象的可移動性,其語句為movable @“對象名”:=true。
單擊【lock】按鈕,進入該分支執行如圖6-7所示的代碼。
圖6-7 【lock】分支執行代碼
這段代碼的功能與如圖6-6所示的代碼基本一致,只是最后將所有設計圖標中對象的屬性設置為不可移動,設置語句如下:
movable @_childicon:=false
設置完畢后圖形不能用鼠標拖動。
及時點評 在程序設計中,經常需要保持畫面中對象的顯示位置不移動,這時就需要在該對象所在的圖標上創建一個附屬運算圖標,并在其中輸入movable:=false,這樣便可達到目的。
本實例介紹了檢查設計圖標類型的方法,并著重演示了對象可移動屬性的設置方法,其中主要應用了如下的一些技術:
l icontype系統函數判斷設計圖標類型的方法
l movable變量設置對象移動屬性的方法
新聞熱點
疑難解答