看板 Flash 關於我們 聯絡資訊
decompiler解出來的FLA通常都是無法正compile的 目的只是要讓你了解code的內容,而不是讓你可以重新編譯 請不要期望decompile出來的原始檔可以馬上讓你正常編譯 解出來的HelvecRounded class之所以會出錯 表示是原本FLA中的字體Exported for ActionScript的結果 但是decompiler以為外部還有一個AS檔 所以建了一個空白的AS檔 理論上這個檔案應該要繼承Fons class的 把font資料夾連同AS檔刪掉就可以消除該錯誤 進一步編譯會發現"找不到PrivateConstructorEnforcer"的錯誤 這是Nodename自己發明的一套private constrcutor實作方法 目的是用AS實作相同於C++/C#/Java等語言中private constructor 詳細說明請自己看 http://bit.ly/bA5s3M 最快速的解決方法就是在最上層class path加入此class package { public class PrivateConstructorEnforcer {} } 但是正確的作法卻是在用到PrivateConstructorEnforcer class的AS檔中 最後段各字加上 class PrivateConstructorEnforcer 如此一來才是真正的製造private constructor同等功能 接下來再編譯,就會發現decompiler解出來的code完完全全出錯了 var _loc5:String = this; //this並不是String 於是 想要直接編譯這個decompile出來的原始檔是不可能的 但是至少你學到了修正一些特殊decompiler錯誤的技巧 -- CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓 Blog http://cjcat.blogspot.com Gallery http://cjcat2266.deviantart.com ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.27.67 ※ 編輯: cjcat2266 來自: 118.168.27.67 (05/28 15:30)
versitility:感謝CJ大撥冗提點 我得花點時間理解它 拜讀了 <0> 05/28 15:48
versitility:請教 CJ 大 我再AS裡看到一個 for ( ;; ) {statement} 05/28 16:01
versitility:第一次看到這種寫法..這樣的 for 會怎麼跑呢 @@? 05/28 16:02
cjcat2266:相當於 while (true) 無窮迴圈 05/28 16:04
cjcat2266:遇到 break 才會跳出 05/28 16:05
aquarianboy:其實你只要按Ctrl+Enter應該就知道答案了不是嗎 05/28 16:05
cjcat2266:那如果沒有break不就當機了XD 05/28 16:07
versitility:因為他這個for裡面包了26個if 2個while..我實際試寫 05/28 16:09
versitility:trace 一測試影片flash就當掉 0.0 05/28 16:10
aquarianboy:其實我的意思說,原po可以直接開個空白的fla 05/28 17:33
aquarianboy:然後寫for(;;){trace 1;} 就知道了 05/28 17:34
aquarianboy:沒有break跳出點應該也會看到一堆的output :) 05/28 17:34
versitility:我上面16:10說的就是照板大那樣寫 一執行就當了XD 05/28 19:07
versitility:連output都沒跳 :( 05/28 19:08
aquarianboy:其實稍微等它一下,它就會有output了 05/28 19:16
aquarianboy:script 已經執行超過預設的 15 秒逾時時段。 <--這個 05/28 19:16
aquarianboy:別急著關掉就行了,不過不確定是不是每台電腦都有一樣 05/28 19:20
aquarianboy:的執行結果就是了 05/28 19:20