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章型態轉換方法是一樣的,你可以寫成:
- var prodMc:MovieClip = event.target as MovieClip;
- var prodMc:MovieClip = MovieClip(event.target);
這兩種方法任選一種即可,這種嚴謹的寫法就可以完全通過編譯器的檢查了。
後記:很高興YoYo無私的分享,若你也有一些小技巧,也歡迎你跟大家分享,這樣世界才會更美好不是嗎?
相關文章:
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。


No Comment.
Add Your Comment