问题标签 [avm2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - AVM2 和 ABC(Adobe 的 ActionScript 字节码格式)规范许可。我可以使用它吗?
谷歌在这方面让我失望了。
假设我有一些 ECMA 脚本,我使用 Open Source Flex SDK 中的编译器将其编译为 ABC 字节码文件。
我是否在使用条款范围内(我似乎找不到)使用 adobe 的 AVM2 规范为这个文件创建一个新的解释器?
我能做到的最好的是维基百科中的一句话,说闪存规范“无限制”可用。不过,我不是在制作 Flash 播放器,而且 AVM2 规范与 SWF 规范是分开的。
有人知道我的意图是否合法吗?
apache-flex - 在 AVM2 中子类化私有(支持)类
我正在为 Flex/AS3 开发一个动态模拟框架,并且在私有/支持类型(即在类文件中的包 {} 之外声明的类型)遇到问题。
在我的 ABC“文件”中,我使用 PROTECTED_NAMESPACE 类标志和 PRIVATE_NS 多名称声明实例。我还尝试赋予它与它所继承的类相同的命名空间(例如 PRIVATE_NS("ContainerClass.as$123"))。
不管我做什么,在loadBytes之后我总是得到以下错误:
VerifyError:错误 #1014:找不到类 ContainerClass.as$123::PrivateClass。
我已经尝试将生成的字节码加载到与私有类相同的 ApplicationDomain 中(默认情况下我使用子域)。我什至尝试在加载之前注册一个类别名(尽管这有点牵强)。
我忘记了什么还是仅仅是 AVM 的限制?
请注意,我完全知道这在 ActionScript 3.0 中是非法的,我正在寻找这在 AVM 中是否真的可行。
编辑:对于迄今为止对这项工作感兴趣的人,该项目是asmock并且在 sourceforge 上。
apache-flex - 泛型(向量)如何在 AVM 中工作?
Flash Player 10 中添加了对泛型的支持(目前只有Vector.<*>,并且被 Adobe 称为“后缀类型参数”),但唯一的AVM2 文档没有描述如何访问这些对象。
具体来说,我注意到一个新的操作码 (0x53) 和一个新的多名称类型 (0x1D) 似乎相关,但它们的用法没有记录。
注意:这个问题是用已知的答案创建的,因为在这里比在我的博客或 Adobe Bug DB 上更容易找到。
actionscript-3 - 有哪些工具可用于编辑/创建 AVM2 字节码?
我想直接为 Flash 10 AVM2 生成一些字节码,即没有 AS3。生成 SWF 文件的汇编程序将是理想的。
这存在吗?如果没有,从汇编程序→ abc → SWF 获得的最简单方法是什么?
apache-flex - 是否存在允许“在没有 ActionScript 的情况下编写 flex”、“Java 到 AVM2 编译器”或“使用 Java 编写 Flex”的内容?
有许多针对 Sun 的 JVM 的动态语言(Groovy、Scala、Jython、Jruby 等),我确信也有许多针对 Adobe 的 AVM。但我惊讶地发现只有 Haxe 做了类似的事情。本站相关问题
我认为 eclipse e4 SWT 项目不会直接编译为 ABC(ActionScript 字节码),而是首先将 Java 转换为 AS3,然后由 Flex 编译器完成其余的工作。
是不是还没有人写过一个简单的 Java / Python / Scala AVM2 编译器,可以用来替代专有的 Adobe Flash Builder(以前称为 Flex Builder)?
我不介意向 Adobe 支付优质产品,但在 Eclipse 中编写 Java 比半成品的 Adobe 插件套件要快得多,也更方便。除了Haxe真的没有其他努力了吗?
actionscript - AVM2 中的 $cinit 和 $init 是什么?
更新:在 AVM2 上找到了一些不错的信息。我没能花太多时间在它上面,但它肯定涵盖了 $init 和 $cinit(以及 $iinit 和许多其他东西)。如果在其他人提出问题之前我能很好地掌握答案,我会发布对这个问题的回应。
今天陷入了关于这个问题的一长串链接跳跃和谷歌搜索,但仍然不太了解 $cinit 和 $init 是什么。
我很在意,因为我今天了解到 $cinit 和 $init 是被解释的(如果我理解正确的话,由 FP 解释),而其他一切都是编译的。
我认为$init 是指给定类的构造函数,而 $cinit 是指创建该类的对象的构造函数。……类似的东西……
谁能让我明白这一点,或者至少为我指出一个有用的方向?
谢谢。
linux - Linux 服务器上的闪存
我是 Flash 迷,想知道 Flash 在 Linux 服务器上运行良好。Linux 环境中 Flash 的性能如何?
我对服务器和linux一无所知,但应该有答案。我试图保持客观。
谢谢,
要求:
• 首先证明没有媒体服务器的 Flash '只是 Flash 运行时 AVM2'
• 知道它是如何执行的
• 此外,知道当 Flash 与服务器脚本、dll 等通信时会发生什么。
用途:
我想运行动画,让 Flash 进行通信
以及发送和接收消息。
评论: '来自 penguin.swf '
-浏览器
似乎在歌剧中工作,但崩溃 konqueror(可能是我的配置)
-64Bit
我们什么时候可以期待原生 64 位版本的 Flash Player?当涉及到对 64 位技术的本机支持时,专有闭源应用程序的速度之慢几乎令人难以置信。
-FullScreen
我不明白这个全屏加速问题。在 youtube.com 上,新播放器几乎无法观看全屏视频,但旧播放器播放正常。为什么不能强制加速???
-CPU
刚刚从以前的稳定更新到这个新的稳定,我看到一些可怕的 cpu 使用率。在具有最新稳定 nvidia 驱动程序的 7600GT 上,它仅使用 40% 的 cpu 来显示视频,并且在全屏时跃升高达 80%(在双核 x2 @ 2.2ghz 上)。如果我在播放视频时关闭硬件加速,我会得到一个 cpu 最高为 100%,另一个最高为 80%。我测试的视频只是在 youtube 上。我在 x86_64 gentoo 上使用 32 位 firefox (2.0.0.11)。希望你能调查一下。
关于 Flash 不是 64 位、占用 CPU 和全屏窒息的评论似乎并不是 Linux 独有的
flash - actionscript 中的动作与 avm 指令
我的问题是,什么是动作,什么是 avm 指令。我一直在阅读这两个文件:
http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v10.pdf
http://www.adobe.com/devnet/actionscript/articles/avm2overview.pdf
但我无法理解它的概念。请有更了解它的人解释一下吗?
apache-flex - AVM1(ActionScript 1/2)的拖放在 AVM2(ActionScript 3/Flex)中不起作用
我有一个在 ActionScript 2 中开发的应用程序,它具有拖放活动。效果很好。我用以下来测试下降
当我将此 SWF 放入我的 Flex 应用程序 SWFLoader 容器时会出现问题。在这种情况下,拖动根本不起作用。
有什么想法吗?
flash - 如何在 AVM2 字节码中找到方法?
我一直在玩 ABC 字节码,并希望有人能为我解决一些困惑。我有一个简单的 Flash 文件,它在舞台上放置一个剪辑,并有一个小脚本来更新它在每一帧上的位置。代码看起来像:
编译为:
我的问题是“getlex”操作是如何工作的(我用###1 标记了它)。它传递了一个引用类的“moveit”方法的多名称。不幸的是,方法信息中的“名称”字段似乎永远不会被编译器使用。所有方法都以空字符串作为其名称(上面显示为###2 处的未命名函数)。
flash 播放器如何将多名称链接到未命名方法?AVM2 规范中似乎没有这方面的规定。
我知道这是可能的,因为像 sothink 这样的商业反编译器设法确定方法名称。我只是不确定他们是如何做到的,或者代码如何工作。