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