作者cjcat2266 (CJ Cat)
看板Flash
标题Re: [问题] 5000:类别n必须有子类别 因为它连结至렠…
时间Fri May 28 15:28:58 2010
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)
1F:推 versitility:感谢CJ大拨冗提点 我得花点时间理解它 拜读了 <0> 05/28 15:48
2F:推 versitility:请教 CJ 大 我再AS里看到一个 for ( ;; ) {statement} 05/28 16:01
3F:→ versitility:第一次看到这种写法..这样的 for 会怎麽跑呢 @@? 05/28 16:02
4F:→ cjcat2266:相当於 while (true) 无穷回圈 05/28 16:04
5F:→ cjcat2266:遇到 break 才会跳出 05/28 16:05
6F:→ aquarianboy:其实你只要按Ctrl+Enter应该就知道答案了不是吗 05/28 16:05
7F:→ cjcat2266:那如果没有break不就当机了XD 05/28 16:07
8F:推 versitility:因为他这个for里面包了26个if 2个while..我实际试写 05/28 16:09
9F:→ versitility:trace 一测试影片flash就当掉 0.0 05/28 16:10
10F:→ aquarianboy:其实我的意思说,原po可以直接开个空白的fla 05/28 17:33
11F:→ aquarianboy:然後写for(;;){trace 1;} 就知道了 05/28 17:34
12F:→ aquarianboy:没有break跳出点应该也会看到一堆的output :) 05/28 17:34
13F:→ versitility:我上面16:10说的就是照板大那样写 一执行就当了XD 05/28 19:07
14F:→ versitility:连output都没跳 :( 05/28 19:08
15F:→ aquarianboy:其实稍微等它一下,它就会有output了 05/28 19:16
16F:→ aquarianboy:script 已经执行超过预设的 15 秒逾时时段。 <--这个 05/28 19:16
17F:→ aquarianboy:别急着关掉就行了,不过不确定是不是每台电脑都有一样 05/28 19:20
18F:→ aquarianboy:的执行结果就是了 05/28 19:20