[前言] authorware是專業的多媒體制作利器,但是,它也有許多先天的不足,其中之一就是原創性太少,大多數的素材需要借助其它軟件的前期處理。有點厭倦了頻繁地調用,就想折騰點名堂出來。想到“它山之石可以攻玉”的古訓,所以,參考其它編程語言,開始了一系列移花接木(包括屏保、進度條、鼠標跟隨等)。
[思路來源] flash中有一種效果--鼠標跟隨。.當鼠標移動時,在其后面會留下一串的軌跡,或者是晶瑩的寶石,或者是璀璨的星星,等等。比較簡單的一種要算是文字跟隨了。下面將在authorware中開發這種效果。let's go!
[實現步驟]
使用"coursorx"和"coursory"變量,動態決定了跟隨文字與鼠標間相對固定的位置,也就實現了鼠標跟隨。可真的這么簡單嗎?
本教程按照筆者的制作步驟來描述,.所以開始步驟會與最終程序有所不同,不過,有關步驟中有調試修改的詳細解說。
<一> 基本功能得實現
1、 加入計算圖標“int”,程序如下:
--------取得鼠標位置并賦予變量
xpos:=cursorx
ypos:=cursory
2、 加入交互圖標“控制”,下掛一個組圖標,設為永久條件交互;
(1)條件交互為:
xpos<>cursorx | ypos<>cursory
從該表達式可知,這個交互在移動鼠標時相應。.那么很顯然,這個組圖標中就應當放置所要跟隨得文字了。
(2)打開這個組圖標,在其中加入一個顯示圖標,輸入文字“g”;
(3)加入一個等待圖標,設置等待時間為變量“wait time”,其初始值為0.05,取消其它設置;
(4)重復步驟2、3,加入所有文字和等待。本例為工作室名稱“g&ldmt”;
現在運行程序,已經可以初步看到鼠標效果了。但是,一旦鼠標停止,跟隨得文字就七零八落地散落在軌跡的不同點上(原因是交互失效),只用再次輕移鼠標才能使其回到正確位置。所以,擬增加一個讓鼠標停止時也能調整位置的永久交互。
3、在交互圖標“控制”下方右側再增加一個永久條件交互,圖標為組圖標;
開始,很自然地想到用“true”的恒真交互,但是,永久條件交互的默認模式是“on false to true”,因為始終都是“true”,所以實際上本交互根本就無法發揮作用。如果要改變為“when true”方式,又只能取消永久,致使流程中斷,“真叫人為難”。
解決的辦法就是增加一個變量,使其能夠不斷在“false”和“treu”或者“0”和“1”間變動,從而可以響應“on false to true”。
(1)修改新加入的條件交互為:
move=0
“move=0”時代表此時鼠標不動。
(2)打開這個“move=0”組圖標,在其中加入一個計算圖標“get pos again”:
--------重新取得鼠標位置
xpos := cursorx
ypos := cursory
(3)copy所有用于跟隨的文字和等待圖標,paste到接下來的流程線上,并成組為“跟隨文字”;
(4)在條件交互“xpos<>cursorx | ypos<>cursory”的組圖標中,在開頭加入計算圖標“move:=1”,程序也是:
move:=1
(4)在條件交互“xpos<>cursorx | ypos<>cursory”的組圖標中,在結尾加入計算圖標“move:=0”,程序也是:
move:=0
這樣,進入條件交互“xpos<>cursorx | ypos<>cursory”后,默認move=0就會變為1,出來時又變回為0,實現了“on false to true”的變化。同時因為出來時為0,使鼠標從運動到停止時立刻開始響應“move=0”條件交互,使跟隨周而復始,生生不息。
<二> 完善程序
出于系統性和調試方面的考慮,都有必要作個簡單的程序框架。
(1)加入一個框架結構,作為主程序;
(2)刪除入口處所有圖標,設置一個退出按鈕和三個導航按鈕,導航方向為框架結構下的三個組圖標。實際應用中,可以在這些組圖標中添加主程序。第一個空組圖標只是為了防止程序立刻進入第一個分支,這種辦法經常用到。
(3)將上面兩個條件交互移動到入口處,.使程序結構更加合理;
(4)調試中發現點擊導航按鈕進入響應分支后,變量move有時會停止于0或者1,可能原因是點擊瞬間需要同時響應兩個流向:進入主程序分支和響應條件交互,沖突從而導致響應條件交互的失效。所以,在每個分支的最后又加入一個計算圖標“修正move值”,程序為:
----------放置于流程最下面
----------沒有這句多次點擊按鈕后跟隨得文字會消失move停滯為0/1
----------本句是改變停滯的 move,重新激活鼠標跟隨得條件交互
move:=~move
(3)其它細節請參考源程序。
[執行效果]
在authorware中執行程序后,文字就會跟隨戍邊到處飄舞,留下美麗的痕跡。
點擊主程序的任何交互也不會擔心“穿幫”了。
新聞熱點
疑難解答