問題タブ [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.
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内でどのように機能しますか?
ジェネリックスのサポート(現在はVector。<*>のみで、Adobeでは「postfixtypeparameters」と呼ばれます)がFlash Player 10で追加されましたが、AVM2のドキュメントのみがこれらのオブジェクトへのアクセス方法を説明していません。
具体的には、新しいオペコード(0x53)と新しいマルチネームの種類(0x1D)が関連しているように見えますが、それらの使用法は文書化されていません。
注意:この質問は、私のブログやAdobe Bug DBよりも簡単に見つけられるため、すでに知られている回答を使用して作成されました。
actionscript-3 - AVM2 バイトコードを編集/作成するために利用できるツールは何ですか?
AS3 を使用せずに、Flash 10 AVM2 用のバイトコードを直接生成したいと考えています。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 Byte Code) に直接コンパイルするのではなく、最初に Java を AS3 に変換し、次に Flex コンパイラーが残りを行うと思います。
プロプライエタリな Adobe Flash Builder (以前の Flex Builder) の代替として使用できる単純な Java / Python / Scala AVM2 コンパイラをまだ誰も作成していないのでしょうか?
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 を証明する「ランタイム AVM2 をフラッシュするだけ」
• どのように動作するかについての答えを用意する
• さらに、Flash がサーバー スクリプトや dll などと通信するときに何が起こるかを理解する。
用途:
アニメーションを実行し、Flash で通信
してメッセージを送受信したい。
コメント: ' from penguin.swf '
- ブラウザー
は Opera で動作
するように見えますが、konqueror がクラッシュします (私の構成による可能性があります)。
-64Bit
Flash Player のネイティブ 64 ビット バージョンはいつ頃リリースされますか? 64 ビット テクノロジのネイティブ サポートに関して言えば、プロプライエタリなクローズド ソース アプリケーションがどれほど遅いかは、ほとんど信じられないほどです。
-FullScreen
このフルスクリーン アクセラレーションの問題がわかりません。youtube.com では、フルスクリーン ビデオは新しいプレーヤーではほとんど見られませんが、古いプレーヤーでは問題なく再生されます。なぜ加速を強制できないのですか?
-CPU
以前の安定版からこの新しい安定版に更新したところ、恐ろしい CPU 使用率が見られます。最新の安定した nvidia ドライバーを搭載した 7600GT では、ビデオを表示するだけで 40% の CPU を使用し、フルスクリーンのとき (デュアルコア x2 @ 2.2ghz) では最大 80% までジャンプします。ビデオの再生中にハードウェア アクセラレーションをオフにすると、1 つの CPU が 100% で最大になり、もう 1 つの CPU が 80% で最大になります。私がテストしたビデオは、YouTube だけにありました。x86_64 gentoo で 32 ビット Firefox (2.0.0.11) を使用しています。これを調べていただければ幸いです。
Flash が 64 ビットではない、CPU を占有する、フルスクリーンで窒息するというコメントは、Linux に固有のものではないようです。
flash - アクションスクリプトのアクションとavm命令
私の質問は、アクションとは何か、avm命令とは何かということです。私はこれらの2つの文書を読んでいます:
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 バイトコードをいじっていて、誰かが私の混乱を解消してくれることを期待していました。クリップをステージに配置する単純なフラッシュ ファイルと、各フレームの位置を更新するための小さなスクリプトがあります。コードは次のようになります。
次のようなものにコンパイルされます。
私の質問は、「getlex」操作がどのように機能するかです (###1 でマークしました)。クラスの「moveit」メソッドを参照するマルチネームが渡されます。残念ながら、メソッド情報の「名前」フィールドは、コンパイラによって使用されることはないようです。すべてのメソッドの名前は空の文字列です (上の ###2 の名前のない関数として示されています)。
Flash Player はマルチネームを名前のないメソッドにどのようにリンクしますか? AVM2 仕様では、これに対する規定はないようです。
sothink のような市販の逆コンパイラがメソッド名を判別できるため、それが可能であることはわかっています。彼らがどのようにそれを行うのか、またはコードがどのように機能するのかはわかりません。