發新話題

Flash製作實例 - 《網頁製作技巧》三維鼠標事件

Flash製作實例 - 《網頁製作技巧》三維鼠標事件

●預覽成品:

訪客無法瀏覽此圖片或連結,請先 註冊登入會員


●逐步說明:
  由於程序太複雜,在這裡我們先給出完整程序,然後再詳細講解。

  1)此實例總共有三層:initialize層中有三個關鍵幀,設置了一些初始值。inv層中放的是實體名為「inv」的Movie Clip,用來捕捉鼠標和定義球體轉動角度的取值。balls層中放的是實體名為「balls」的Movie Clip,並設置了Actions為:
Start Drag ("/inv", lockcenter)
 Begin Tell Target ("/balls")
  Play
 End Tell Target
Stop
  表示拉入實體名稱為「inv」的Movie Clip,並開始播放實體名稱為「balls」的Movie Clip。
  2)我們先來看Movie Clip:inv。用鼠標右鍵點擊工作區中的綠色橢圓圖片,在彈出的菜單中選擇Edit項,

進入inv編輯模式。

圖層Layer 1中放的是隱形按鈕:yxbtn。雙擊該按鈕,彈出按鈕屬性對話框,切換到Actions選項卡,裡面的程序為如圖所示:

表示當鼠標滾到按鈕上時,設置變量over的值為邏輯真,即true。由於一開始播放電影時,該Movie Clip就被拉入,所以按鈕會跟著鼠標跑,只要鼠標在工作區中,變量over的值即為邏輯真。
  3) 圖層Layer 2中有兩個關鍵幀,第1幀中的Actions為:
Set Variable: "xoffset" = int (xoldpos - GetProperty ("/inv",_x))
Set Variable: "yoffset" = int (GetProperty ("/inv",_y)-yoldpos)
If (((xoffset = 0 ) and (yoffset = 0)) or (not over))
 Set Variable: "/:xangle" = (/:xangle - (/:xangle / 20))
 Set Variable: "/:yangle" = (/:yangle - (/:yangle / 20))
Else
 Set Variable: "/:xangle" = yoffset
 Set Variable: "/:yangle" = xoffset
End If
If ((/:xangle > 40) )
 Set Variable: "/:xangle" = "40"
Else If ((/:xangle < -40) )
 Set Variable: "/:xangle" = "-40"
End If
If ((/:yangle > 40) )
 Set Variable: "/:yangle" = "40"
Else If ((/:yangle < -40) )
 Set Variable: "/:yangle" = "-40"
End If
Set Variable: "xoldpos" = GetProperty ("/inv",_x)
Set Variable: "yoldpos" = GetProperty ("/inv",_y)
  表示球體在X方向和Y方向的旋轉角度。 第2幀的Actions為:
Go to and Play (1)
與第1幀形成循環。
  4)點擊等時線窗口左上角的Scene 1按鈕,切換到場景1,用鼠標右鍵點擊工作區中的球體,在彈出的菜單中選擇Edit項,進入balls編輯模式。

圖層point中放的是實體名為point的球體,圖層actions中的程序表示組成三維立體模型的每個球體的屬性。

TOP

回個帖先 ...

感謝無私分享 ...

努力吸收中 ...

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。