自從Macromedia公司推出了Authorware 6.0以后,F(xiàn)lash動(dòng)畫(huà)在Authorware中的調(diào)用變得“平民化”了。但不知道大家有沒(méi)有想過(guò),在Authorware中能否實(shí)現(xiàn)對(duì)Flash動(dòng)畫(huà)的控制呢,如:播放、暫停、快進(jìn)、快退等?
在Authorware中要控制Flash動(dòng)畫(huà),主要是通過(guò)“SetSpriteProperty(@"SpriteIconTitle", #property, value)”、“GetSpriteProperty(@"SpriteIconTitle", #property)”和“CallSprite(@"SpriteIconTitle", #method [, argument...])”三個(gè)函數(shù)來(lái)實(shí)現(xiàn)的:
SetSpriteProperty主要是將某些屬性賦予動(dòng)畫(huà)(如:動(dòng)畫(huà)的尺寸、位置等);
GetSpriteProperty主要是獲取動(dòng)畫(huà)的某些屬性(如:旋轉(zhuǎn)角度、播放速度等);
CallSprite主要是控制動(dòng)畫(huà)內(nèi)在的某些屬性(如:播放、暫停等)。
實(shí)例制作
1、啟動(dòng)Authorware 6.0,新建一個(gè)名為“Flash播放器”的文件;選擇“Modify”→“Flie”→“Properties…”(Ctrl+Shift+D)打開(kāi)對(duì)話框,修改其中的設(shè)置;
選擇“Insert”→“Media”→“Flash…”打開(kāi)Flash Accset Properties對(duì)話框,單擊Browse…導(dǎo)入需要的Flash動(dòng)畫(huà)(注意Flash動(dòng)畫(huà)的背景最好為純黑色,這樣在Authorware中才可以進(jìn)行透明),此時(shí)流程線上會(huì)自動(dòng)添加一個(gè)圖標(biāo),將圖標(biāo)后面的名字去掉重新取名為“Flash動(dòng)畫(huà)”,然后選中該圖標(biāo)單擊鼠標(biāo)右鍵選擇“Calculation…”,在彈出的窗口中輸入:
ResizeWindow(320,260)——設(shè)定窗口尺寸
Movable:=FALSE——設(shè)置動(dòng)畫(huà)在播放時(shí)不可移動(dòng)
2、在流程線上放置一個(gè)交互圖標(biāo),再在交互圖標(biāo)旁邊放置四個(gè)計(jì)算圖標(biāo)交互類(lèi)型為“Button”,并分別取名為“播放”、“暫?!?、“快進(jìn)”、“快退”;分別在四個(gè)計(jì)算圖標(biāo)中輸入一下語(yǔ)句:
在“播放”計(jì)算圖標(biāo)輸入:
CallSprite(@"Flash動(dòng)畫(huà)", #play)——讓動(dòng)畫(huà)從當(dāng)前幀播放。
在“暫停”計(jì)算圖標(biāo)輸入:
CallSprite(@"Flash動(dòng)畫(huà)", #stop)——暫停Flash動(dòng)畫(huà)。
在“快進(jìn)”計(jì)算圖標(biāo)輸入:
a:=GetSpriteProperty(@"Flash動(dòng)畫(huà)", #frame)——獲取當(dāng)前動(dòng)畫(huà)所在的幀CallSprite(@"Flash動(dòng)畫(huà)", #gotoFrame, a+40)——在原來(lái)的幀數(shù)上加40,這樣就實(shí)現(xiàn)的快進(jìn)。
在“快退”計(jì)算圖標(biāo)輸入:
a:=GetSpriteProperty(@"Flash動(dòng)畫(huà)", #frame)
CallSprite(@"Flash動(dòng)畫(huà)", #gotoFrame, a-40)
最后按Ctrl+R運(yùn)行程序可以測(cè)試效果。注意:如果發(fā)現(xiàn)有時(shí)控制失靈,這說(shuō)明Flash動(dòng)畫(huà)當(dāng)前幀是一個(gè)MovieClip對(duì)象,它本身就是一個(gè)動(dòng)畫(huà),而Authorware不能控制Flash動(dòng)畫(huà)場(chǎng)景中MovieClip,所以在制作Flash動(dòng)畫(huà)時(shí),盡可能的將所有的動(dòng)畫(huà)過(guò)程都放在主場(chǎng)景中,少用MovieClip。
部分函數(shù)的用法
1、位置控制與獲取
SetSpriteProperty(@"FlashMovie", #viewH, parameter)
——控制動(dòng)畫(huà)的橫坐標(biāo)的數(shù)值,其中FlashMovie表示Flash動(dòng)畫(huà)的圖標(biāo)名稱, #viewH表示控制方式,parameter表示具體數(shù)值,也可以是一個(gè)變量。
SetSpriteProperty(@"FlashMovie", #viewV,parameter )
——控制動(dòng)畫(huà)縱坐標(biāo)的數(shù)值,可以實(shí)現(xiàn)動(dòng)畫(huà)的上下移動(dòng)。
Result:=GetIconProperty(@"FlashMovie", #ViewV)
——使變量Result的值等于動(dòng)畫(huà)的橫坐標(biāo)的值。
Result:=GetIconProperty(@"FlashMovie", #viewH)
——使變量Result的值等于動(dòng)畫(huà)的縱坐標(biāo)的值。
2、角度控制與獲取
SetSpriteProperty(@"FlashMovie", #rotation, parameter)
——控制旋轉(zhuǎn)角度,parameter值在0~360之間。
Result:=GetIconProperty(@"FlashMovie", #rotation)
——使變量Result的值等于動(dòng)畫(huà)的角度值。
通過(guò)Repeat 語(yǔ)句還可以實(shí)現(xiàn)動(dòng)畫(huà)的旋轉(zhuǎn):
Repeat with x= 1 to 180
SetSpriteProperty(@"FlashMovie", #rotation, x*2)
End repeat
3、縮放的控制與獲取
SetSpriteProperty(@"FlashMovie", #viewScale, parameter)——設(shè)置縮放值,parameter的值在0~100之間,他表示百分值,如10就是原來(lái)動(dòng)畫(huà)尺寸的10%。
Result:=GetIconProperty(@"FlashMovie", #viewScale)
——使變量Result的值等于動(dòng)畫(huà)的縮放值。
4、速度的控制與獲取
SetSpriteProperty(@"gizmos.swf", #playbackMode, #fixed)——設(shè)定速度模式,少了該語(yǔ)句下面的改變速度語(yǔ)句將無(wú)效。
SetIconProperty(@"FlashMovie", #fixedRate, integer)
——integer表示動(dòng)畫(huà)每秒鐘播放的幀數(shù),通過(guò)改變它的值可以改變動(dòng)畫(huà)的播放速度。
Result:=GetIconProperty(@"FlashMovie", #fixedRate)
——獲取動(dòng)畫(huà)當(dāng)前的播放速度。
5、聲音的控制
SetIconProperty(@"FlashMovie", #sound, boolean)
——當(dāng)Boolean的值為“False”時(shí)可以停止Flash動(dòng)畫(huà)中聲音的播放,當(dāng)值為“True”時(shí)可以播放Flash動(dòng)畫(huà)中的聲音。
Result:=GetIconProperty(@"FlashMovie", #sound)
——獲取聲音是否播放,通過(guò)數(shù)值來(lái)表示,為1時(shí)表示播放,為0時(shí)表示停止。
CallSprite(@"FlashMovie", #hold)
——停止Flash動(dòng)畫(huà)中的畫(huà)面,但是聲音繼續(xù)播放。
6、獲取Flash動(dòng)畫(huà)的路徑及名稱
Result:=GetIconProperty(@"FlashMovie", #pathName)
——獲取動(dòng)畫(huà)的路徑和名稱,Result值為動(dòng)畫(huà)的具體存盤(pán)位置和文件名。
7、獲取動(dòng)畫(huà)的總幀數(shù)和設(shè)置動(dòng)畫(huà)播放次數(shù)
Result:=GetIconProperty(@"FlashMovie", #frameCount)
——這里所獲取的動(dòng)畫(huà)總幀數(shù),是指Flash動(dòng)畫(huà)主場(chǎng)景的總幀數(shù)。
SetIconProperty(@"FlashMovie", #loop, boolean)
——通過(guò)改變boolean的值可以設(shè)置動(dòng)畫(huà)循環(huán)播放的次數(shù)。
8、獲取畫(huà)面質(zhì)量的值
Result:=GetIconProperty(@"FlashMovie", #quality)
——Result的值可能為Auto-High、High、Auto-Low和Low。
------------------------------- · 相關(guān)文檔瀏覽 · --------------------------------------------------------------------- · 熱門(mén)文檔瀏覽 · -------------------------------------