用FlashMX製作拖動懸浮窗口

- 中國WEB開發者網絡 (http://www.webasp.net)
-- 技術教程 (http://www.webasp.net/article/)
--- 用FlashMX製作拖動懸浮窗口 (http://www.webasp.net/article/22/21315.htm)
-- 作者:未知
-- 發佈日期: 2005-04-30
    在課件製作過程中,有些需要重點突出的知識點要在單獨的畫面中顯示,並且要求可以拖動。這就是我們平時所說的可以拖動的懸浮窗口。筆者以Flash MX為課件製作平台,將實現方法與大家共享。

  此方法只用到一個SWF文件,主場景和懸浮窗口都包含在同一個文件中。首先將懸浮窗口隱藏起來,當主場景中的按鈕按下之後,把懸浮窗口顯示出來,這樣,就顯示了可拖動的懸浮窗口。

  1. 在主場景中設置好背景,製作好一個個性化的按鈕,在按鈕上右擊,選擇「動作」,添加如下代碼:

  on (release) {

  setProperty("/windows", _visible, true);

  }

  其中「setProperty("/windows", _visible, true)」是設置影片實例Windows的可見性,當此按鈕按下時,將影片實例Windows顯示出來。

  2. 下面製作懸浮窗口的影片剪輯:插入「新建組件/影片剪輯」,在場景裡畫上一個半透明的方框,輸入要顯示的具體內容。在方框的上方製作一個按鈕,名為「Drag」,右上方也製作一個按鈕,名為「CloseWindow」。

  然後在Drag按鈕上右擊,選擇「動作」,加入如下代碼:

  On (Drag Over, Drag Out)

  Start Drag ("/windows")

  End On

  On (Release, Release Outside)

  Stop Drag

  End On

  第一個「On ... End On」表示當Drag按鈕按下時,讓實例Windows跟隨鼠標移動(注意,選擇「Start Drag」時,不要在「Lock mouse to center」中打勾)。第二個「On ... End On」表示當鼠標按鈕鬆開時,停止拖動。

  在CloseWindow按鈕上右擊,選擇「動作」,加入如下代碼:

  on (release) {

  setProperty("/windows", _visible, false);

  }

  此時,當CloseWindow按鈕按下時,讓實例Windows隱藏起來,即關閉窗口。

  3. 回到主場景,打開「圖庫」,將剛才製作好的MC拖到場景中,並定義這個MC的實例名為Windows(與setProperty句中的實例名一致)。為使窗口一開始不顯示,在主場景中增加一個圖層,在第一幀上右擊,選擇「動作」,加入如下代碼:

  setProperty("/windows", _visible, false);

  好了,現在可以測試影片了。按下主場景中的按鈕,原來隱藏的窗口顯示出來了。這樣,一個可拖動的懸浮窗口便製作完成了。


webasp.net