2008
05.12


首先非常謝謝YoYo熱心的提供他的經驗,如果你遇到的問題跟他一樣,或許你可以參考看看他的作法,這個文章結尾我在跟大家講我建議的作法。 

以下是他的全文回應: 

老師,您好:

之前請教您關於P230的問題

對照了你的書本很久

終於找到了答案

可是答案不在書本裡

呵呵!

原來是在"檔案→發佈設定→FLASH→設定"

只勾選"警告模式"和"降低檔案大小並增強效能"兩個選項

就不會再出現問題了….

原本一直會出現"1118: 靜態類型 Object 的值以隱含方式強制轉型成可能不相關的類型 flash.display:MovieClip。"的錯誤訊息

因為在設定裡我的FLASH是全部都有勾選

後來對照老師的範例檔

發現老師的範例裡只有勾選上述兩個選項

所以改過之後就可以了

在此和老師分享哦~~~~~


當然如果遇到這個問題可以參考YoYo的作法,不啟用嚴謹模式,當初Adobe這樣在設計Flash的時候是體諒美術設計師不用去參與複雜的資料形態轉換問題,所以若想直接避開這個問題就採用YoYo的作法。

不過若是你想要精通ActionScript 3.0最好習慣一下ActionScript 3.0是很嚴謹的這個事實,如果以後有一天要進入Flex也會比較適應一些,會遇到"1118: 靜態類型 Object 的值以隱含方式強制轉型成可能不相關的類型 flash.display:MovieClip。"這個訊息,最主要是事件體(Event Object)在編譯器中他會視同他為Object型態,雖然事實上我們在寫的時候非常清楚觸發者應該是MovieClip才對,好吧,這時候只要非常清楚的告知編譯器他是哪一種資料型態就行了,作法跟第4章型態轉換方法是一樣的,你可以寫成:

  1. var prodMc:MovieClip = event.target as MovieClip;
  2. var prodMc:MovieClip = MovieClip(event.target); 

這兩種方法任選一種即可,這種嚴謹的寫法就可以完全通過編譯器的檢查了。

後記:很高興YoYo無私的分享,若你也有一些小技巧,也歡迎你跟大家分享,這樣世界才會更美好不是嗎?


相關文章:
  • ActionScript 3.0打造互動網頁力與美第二刷書現身
  • [分享]Flex 4 與 Flash CS5的 API表
  • Facebook 的ActionScript API 更新到 3.3版
  • Flash on iPhone,代誌就這麼發生了
  • 用ActionScript讀取相片中的exif資訊
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    No Comment.

    Add Your Comment