Flash

ABCのSlotがさっぱりなので、コードを読もう

ABCのSlotがさっぱりなので、Tamarinのコードを読もう。 目的 (define foo (new Foo))というコードのfooにslotを割り当てたら、 TypeError: Error #1034: Type Coercion failed: cannot convert Foo@11177c9 to class Foo. at global$init()と怒られた。でも…

FlashPlayer組込みのクラス一覧をダンプしてみた

id:mzp:20081202:flashで言っていたplayerglobal.abcをダンプして、FlashPlayerに組込まれているクラス一覧を作りました。 普通にFlashを書いている人には全然役にたたない気もしますけど、とりあえず公開しておきます。形式は加工がしやすいように(?)S式で…

Flash組込みのクラスはplayerglobal.abcに書いてあるらしい

Flash組込みのクラス(flash.*内のクラス)一覧が欲しいなぁ、と思ってFlex SDKのソースコードを漁っていたら、playerglobal.abcなるものを見つけた。 http://opensource.adobe.com/svn/opensource/flex/sdk/trunk/modules/asc/abc/試しにダンプしてみると、わ…

ActionScript3 Bytecodeを手書きしてみた

http://wiki.libspark.org/wiki/AVM2/Overviewを参考に、ABC(ActionScript3 Bytecode)を手書きしてみた。 動機は、 ABCを出力するコンパイラを作りたい! u30とかのABCの基本データ方を扱えるモジュールがいるから、作った テストするために、バイトコードを…

ABCのバイトコード生成

ABC(ActionScript3 ByteCode)をどうやって生成しているか気になったので、Tamarinのソースツリーに含まれているECMAScript4のコード生成部分を追ってみた。 とりあえず、何もせず終了するだけのプログラムを生成するときのことを想定している。要するに空の…

Tamarinのビルド

オープンソースのActionScript3 VMのTamarinのビルド方法。参考: http://developer.mozilla.org/en/docs/Tamarin_Build_Documentationまず、Tamarinをレポジトリからコピーする。 $ hg clone http://hg.mozilla.org/mozilla-central mozilla-centralそして、…

TypingManiaのディレクトリ構成

SightSeekerStudio.com - TYPINGMANIA 4がどのような構成になっているかの解析結果。 ディレクトリ構成 ファイル名 説明 XML/* 歌詞データ。書式は後述 mpegoneaudiolayerthreedata/* 音楽データ。MPEG-1 Audio-3 dataの意味だろう tm.swf typingmania.swfを…

TypingMania for offline

SightSeekerStudio.com - TYPINGMANIA 4{friend:dmp}がやっていたので、やってみようとしたらその日に公開が中止されていたやつ。 とても悔しかった、ローカルで動かしてやった。あとで勝手に歌詞を追加してやる。(解析結果をあとで書く)で、結局歌詞は次の…

シンプルなTwitter表示Flash

オフィシャルのFlashと違って、一行で状態を表示するやつ。 JavaScript版のようなイメージ。ただ、JavaScriptは非同期でロードできないので自分で作った。twitter_show.tar.gzをダウンロードして、TwitterShow.swfを適当な場所に配置した上で、

mxmlcのロケール設定

JavaアプリのロケールはLANGでもないし、当然C_LOCALEでもない。 システムプロパティという環境変数に似た構造を使って、独自で管理してる。そこで、起動時に指定されているVMへの引数をごにょごにょしてシステムプロパティを設定してやる。 *** mxmlc.orig …

Hello,world

うわ、Javaっぽいなぁ。 package{ import flash.display.*; import flash.text.*; public class Hello extends Sprite{ private var label:TextField; function Hello(){ label = new TextField(); label.autoSize = TextFieldAutoSize.LEFT; var format:Tex…

MacでFlex2

ActionScript 第2版〈VOLUME 1〉実践プログラミングも読み終わったので、Flash(ActionScript)でプログラミングしてみよう。 flex2のインストール まずはMacの環境づくり。 Adobeが最近、タダにしたFlexにActionScript3.0コンパイラが入っているのでそれを利…