More Related Content
PDF
ODP
PPTX
PDF
PDF
PDF
20121019-jenkins-akiko_pusu.pdf PDF
PDF
What's hot
PDF
PDF
ODP
Ultimate completion environment with neocomplcache in vim PDF
PPTX
JS と Canvas で作るシューティングゲーム PDF
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜 PDF
PDF
JasmineによるJavascriptテスト駆動開発 PPTX
PDF
モダンな感じでChrome Extension作ってみた PDF
PDF
PDF
かなりすごい発表(かなり) at VimConf2014 PDF
PPTX
Touhou Project on JavaScript PDF
PPTX
PDF
PDF
Flash Playerの作り方
- 1.
- 2.
- 3.
Open Screen Project2008年5月1日 – Adobe Open Screen Project にて、 Flash の仕様書を読んだ人も Flash Playerを作ってもよくなりました。 前は、 読んでいない人->作ってOK 読んだ人->作っちゃだめ たぶん、ECMAScript 4がActionScript 3ベースにする予定だったためか?(推測) - 4.
Flash Playerの要素 以下の3つがFlash Player を作るうえでの肝 AVM (ActionScript Virtual Machine) ActionScript を実行します。 1 と 2 の両方を作る必要あり。 描画 gyuque さんが話すよ! タイムライン この部分が最もドキュメント不足。 Gnash の Wiki が最も情報多いです。 onLoad 、 onUnload 、 onEnterFrame の呼ばれるタイミングなどが不明確。あまりにも難しい話が多すぎて話せません。 全体として、ドキュメントが不十分。仕様不明のため作るのが困難。 - 5.
- 6.
with AVM2 (ActionScript3)の場合 var a = 456; with({a: 123}) { trace("a = " + a); } 456 と出る。 JavaScript は 123 。 AVM1 は 静的スコープでなく、動的スコープ movieClip のプロパティとかぶると、 read と write でスコープ解決のルールが変わる Flash Player の完全再現は大変… - 7.
- 8.
AVM2 on JSwith JIT ActionScript 3のソースコード -> SWFファイル by Flex 3 -> ActionScript バイトコードを文字列に変換 by Tamarin -> JavaScript で読み込む -> ActionScript バイトコードを JavaScript のソースに変換。 -> 高速に実行! - 9.
作り方 ABC pushshort5 pushshort 3 multiply setlocal_1 JS 自前のコンパイラ用のスタックを用意して、 {type: “number”, value: 5} をスタックに積む {type: “number”, value: 3} をスタックに積む {type: “src”, src: “(3 * 5)”} をスタックに積む local1 = (3 * 5); を出力 - 10.
- 11.
- 12.
- 13.
Flash 11 への希望AVM1 AVM2 LLVM AS1,2 AS3 C/C++ Flash Player 11 CPU GPU - 14.
- 15.