張曉慧
(阜陽職業(yè)技術(shù)學院工程科技學院,安徽阜陽 236000)
在Authorw are中巧用函數(shù)實現(xiàn)動態(tài)改變運動對象
張曉慧
(阜陽職業(yè)技術(shù)學院工程科技學院,安徽阜陽 236000)
在Authorware程序設計中,移動圖標的使用可以增加程序的趣味性,吸引用戶的注意力,但要實現(xiàn)程序運行中動態(tài)地改變運動對象就得借助函數(shù)和變量的獨特功能。文章使用函數(shù)SubStr()和SetMotionobject(),方便快捷地實現(xiàn)了程序運行中變換不同運動對象的目的。
Authorware;變換運動對象;函數(shù)
動畫是多媒體作品中不可缺少的一部分,在Authorware 7.0中可以通過“移動”圖標使某個對象運動起來,一般來講一個程序文件中有幾個要運動的對象就需要用幾個“移動”圖標,分別對各個運動對象進行運動路徑和運動屬性設置,這種設計方法不僅增加了流程線的長度,還使得程序設計復雜,增加程序調(diào)試的難度和復雜度,運行效果也很難保證。其實,我們可以利用Authorware的強大的函數(shù)功能來實現(xiàn)這個效果,程序制作起來也非常簡單。
在多媒體設計中,動畫的引入可以增加程序的趣味性,吸引用戶的注意力。下面以“一只袋鼠從左自右不斷做直線運動的過程中接住從一棵蘋果樹上依次掉下的10只蘋果”為例,介紹函數(shù)SubStr()和SetMotionobject()的用法,方便快捷地實現(xiàn)了程序運行中動態(tài)變換10個不同運動對象的目的。
1)取字符串函數(shù)SubStr()。
語法格式:
resultString:=SubStr(“string”,first,last)
說明:SubStr返回 string中從 First到last的一部分。如object:=SubStr(“1234567890”,1,1),則 object的值為“1”。
2)設置移動對象函數(shù)SetMotionobject()。
語法格式:
SetMotionobject(Icon ID@“Motion”,Icon ID@“object”)
說明:設置當前活動對象的響應方式。“Motion”為驅(qū)使對象運動的移動圖標的名稱,“object”為程序運行中不斷變換的運動對象的名稱。這里的“object”通常引用的是運動對象的名稱。
圖1
1)新建一個文件,將其命名為“巧用函數(shù).a7p”。
2)建立程序主流程圖(見圖1)。在“樹”演示窗口中導入一幅“樹”卡通圖片,調(diào)整其位置。
3)在“袋鼠”演示窗口中導入一幅“袋鼠”卡通圖片,調(diào)整其位置使“袋鼠”圖片位于演示窗口左側(cè)。
4)設置“移動袋鼠”移動圖標的屬性窗口,設置移動對象為“袋鼠”,并設置其運動方式為“指向固定路徑的終點”,同時設置好“袋鼠”從演示窗口左側(cè)運行到演示窗口右側(cè)的運動路徑。另外,為了使“袋鼠”在演示窗口中不斷自左向右來回做循環(huán)運動,這里把執(zhí)行方式設為“永久”,移動條件設為“true”。
5)拖入組圖標并命名為“10個蘋果”。
6)打開組圖標“10個蘋果”,拖入一個顯示圖標,命名為“1”,打開顯示圖標,并導入圖片“蘋果”,在“蘋果”中心寫上“{icontitle}”,然后復制“1”顯示圖標9份,并依次命名為“2,3,4,5,6,7,8,9,0”,設置流程如圖2所示。
圖2
7)打開“樹”演示窗口 ,同時按住“ctrl”鍵雙擊打開“1”演示窗口,調(diào)整“蘋果”的顯示位置,使其位于“樹”上,同理分別調(diào)整“2,3,4,5,6,7,8,9,0”演示窗口中的“蘋果”,使“蘋果”掛在“樹”上,這樣一顆蘋果樹就制作完成。
8)設置“循環(huán)移動10個蘋果”判斷圖標,設置循環(huán)次數(shù),這里判斷圖標屬性窗口的“重復”——“固定循環(huán)次數(shù)”設置為10次,其他屬性設置保持默認。
9)在判斷圖標“循環(huán)移動10個蘋果”分支的右側(cè)再次拖入一個群組圖標,命名為“移動10個蘋果”。
10)保存該文件。
1)設置如圖3所示的流程。
2)在“更換移動對象”計算圖標中輸入:
object:=SubStr(“1234567890”,i+1,i+1)
——定義移動對象變量名“object”,一次取一個數(shù)字,即驅(qū)動一個對象運動;
Result:=SetMotionobject(Icon ID@“移動蘋果”,Icon ID@object)
——設置程序運行中改變移動的“蘋果”對象;
i:=i+1
——每執(zhí)行一次該圖標,i的值增加為1。
3)在“移動蘋果”移動圖標的屬性窗口中設置運動類型:指向固定點。
由于蘋果要落入袋鼠的袋子中,袋鼠從左自右做水平運動,因此袋鼠的X坐標值不斷增加,而袋鼠的Y坐標值始終保持不變,因此蘋果落入袋子的目標點的值設為:DisplayX@“袋鼠”+100和DisplayY@“袋鼠”。
運行時間設為1秒,執(zhí)行方式設置為“等待直到完成”。
4)“擦除移動對象”計算圖標中輸入:
EraseIcon(Icon ID@object)
運行程序。若有問題,對其進行修改。直到滿意為止。
圖4
運行程序后,會看到一只卡通袋鼠從演示窗口左側(cè)運動到演示窗口右側(cè),同時演示窗口上方的10個蘋果不斷依次落入袋鼠的口袋中,如圖4所示。
1)這里把“移動袋鼠”移動圖標屬性對話框中的執(zhí)行方式設置為“永久”,并把“移動當”的值設為“true”,目的是讓袋鼠不斷地從演示窗口左側(cè)運動到右側(cè),直到退出運行程序。
2)Authorware中的判斷分支結(jié)構(gòu)可以判斷程序以什么順序執(zhí)行,以及總共執(zhí)行多少次。該程序中引用判斷圖標是為了不斷更新變量i的值,類似于循環(huán)語句,程序每執(zhí)行一次,i的值從0不斷增加直到9,即語句 i:=i+1。
3)變換運動對象的10個蘋果的名稱分別命名為“0-9”這10個數(shù)字,是為了使用函數(shù) substr()、Set Motionobject()和語句i:=i+1,使得程序每運行一次改變一次運動對象,這種把圖標標題作為重要參數(shù)的方法,我們在程序設計中經(jīng)常用得到。
4)“蘋果”從“樹”上落下后,需要使用 Erase Icon(Icon ID@“IconTitle”)函數(shù) ,把落下的“蘋果”擦除 ,否則“蘋果”會停留在演示窗口中。
5)如果要讓程序中10個蘋果不斷地落入袋鼠的口袋中,則可以在主流程線上再加入一個計算圖標,并輸入
i:=0
Go To(Icon ID@“1”)
有興趣的讀者不妨嘗試,把袋鼠的運動路徑改為曲線,同時更改“移動袋鼠”的圖標屬性窗口的坐標點的值,使“袋鼠”蹦蹦跳跳地接樹上掉下的“蘋果”,這樣程序運行起來會更加有趣。
[1] 繆亮.Author ware多媒體課件制作實驗與實踐[M].北京:清華大學出版社,2007.
[2] 郝謙,劉亞平.計算機輔助教學與多媒體課件制作[M].北京:中國鐵道出版社,2006.
Realizing Dynamic Change of Moving Objects Using Function in Author ware
Zhang Xiaohui
(School of Engineering Science and Technology,Fuyang Vocational and Technical College,Fuyang,Anhui236000,China)
In the Author ware program design,usingmoving icon can increase the interestry and attract the user’s attention.But to change the moving object dynamically in program running,we should use the unique features of functions and variables.In this article,by use of the function Sub Str()and Set Motionobject(),we realize the transformation of different moving objects conveniently and efficiently in program running.
Author ware;transformation of moving object;function
TP317
A
1671-2544(2010)03-0068-03
2010-03-21
張曉慧(1978— ),女,安徽阜陽人,阜陽職業(yè)技術(shù)學院工程科技學院講師,碩士。
(責任編輯:陳錦華)