15得票1回答
AVM内部如何处理泛型(Vector)?

支持泛型(目前仅支持 Vector.<*>,Adobe 称其为“后缀类型参数”)在 Flash Player 10 中已经被添加,但是只有AVM2 文档没有描述如何访问这些对象。 具体而言,我注意到了一个新的操作码(0x53)和一个新的 multiname 类型(0x1D),看起来很相...

8得票5回答
在ActionScript 3中,扩展类会带来哪些负面影响?

在我的游戏引擎中,我使用Box2D来实现物理效果。Box2D的命名规范和不良注释破坏了我引擎的一致性和文档完整性,这令人有些沮丧,也会影响到使用者。 我考虑过创建一组Box2D包装类,即扩展每个常见的Box2D对象并重新编写它们的函数以遵循我的引擎的命名约定,并使它们的注释更加清晰、一致。我...

7得票3回答
在AVM2中子类化一个私有(支持)类

我正在为Flex/AS3开发一个动态模拟框架,但是遇到了私有/支持类型的问题(即在类文件中在package {}之外声明的类型)。 在我的ABC“文件”中,我使用PROTECTED_NAMESPACE类标志和PRIVATE_NS multiname声明了实例。我还尝试将其赋予与其子类化的类相...

7得票1回答
为什么Flash ActionScript3编译器会产生不必要的代码?

我最近为AVM2/AS3开发了一个反编译器,并注意到Flash编译器倾向于产生大量不必要的代码。例如,对于某个应用程序,我删除了约10%的代码,而没有影响功能。这只是一些死代码,既不被条件操作码引用,也不被异常处理块引用。 另外,请看这段代码: ... 313 se...