其實這是一個 Flash AS3 Compiler 的 Bug
不過實在是太特殊了
就好像武俠小說鹿鼎記內的『化骨綿掌』只要短短的一行 AS3 放在 fla 檔案內
編譯測試就會發現輸出的 swf 檔案經脈俱碎
所有內部的或是外部的 AS3 程式全部失效
組件變成一堆碎片在畫面上
預先編譯過的組件則是人間蒸發整個 SWF 只剩下爛掉的圖片、動畫
更重要的一點是 Flash IDE 完全不會出現 Error 訊息
中招之後難以察覺Flash AS3 化骨綿掌共有三招
三招威力效果相當第一招、conditional + array access
- (0 ? 0 : 0)[0];
第二招、conditional + void
- void(0 ? 0 : 0);
第三招、conditional + typeof
- typeof(0 ? 0 : 0);
融會貫通之後,整合到日常程式開發中
保證可以殺人於無形AS3 化骨綿掌對 Flash IDE CS3, CS4 有良好的效果
甚至連 Flex SDK 3.x 都難逃一死
只是 Flex 會出現垂死的呼救 Error
- An internal build error has occurred. Right-click for more information.
- Location Unknown
不過毫無用處,死在哪都不知道,根本無從 Debug 起
原文地址: http://ticore.blogspot.com/2010/03/as3-compiler-bug-3.html