AS3
下のようなコードを書いた場合に、FooやBarをクリックすればメッセージが表示されるが、それ以外のところをクリックしても表示されない。 package { import flash.display.*; import flash.events.*; public class Client extends Sprite { public function …
メインのClientクラスで別のクラスButtonPaneのインスタンスを作って、そのsetupメソッドにthisを渡し、そのなかでthisにaddEventListenerした場合に、なぜかメインのクラスではなくButtonPane、というように見える不可解なバグに遭遇した。きっと今日はもう…
外部の画像を読み込んで表示したらなぜか勝手に拡大縮小されている stage.scaleMode = "noScale"; stage.scaleMode = StageScaleMode.NO_SCALE;の方が良さそう 左上隅の座標が(0, 0)じゃない!なんか100ピクセスくらいマイナスだ! stage.align = StageAlign…
Flashに外部から引数を渡す方法を調べていた。Java Appletみたいにobjectタグの中で渡すのかと思ったけど、GETで渡された内容を取得できるみたいだ。 log(root.loaderInfo.parameters.hoge);これで?hoge=1とか書くと1が出力される。 - しかしこれではRascut…
開発合宿でマリオの死ぬ音とかでデモしていたスクリプトをGrowlに対応させた。Ustreamでデモした。 http://ustream.tv/recorded/liWjviwxwkJqvK1P7uUBcg 普段使うコマンドの前にこのwatch_stdoutってのをつけるだけで使えるので、Djangoとかでも使えるんじゃ…
まずAS3のコード。rascutで開発しているので3001番でサーバが立ち上がっている。 package { import flash.display.*; import flash.events.*; import flash.net.*; [SWF(width="400", height="300", backgroundColor="#eeffee")] public class Client extend…
yasnippet用のタグyasを作った。 あとActionScript用のスニペットを作り始めた `(progn (defvar classname (capitalize (file-name-nondirectory (file-name-sans-extension (buffer-file-name)))))"") `package { import flash.display.*; [SWF(width="400"…
id:os0x さんに教えてもらったので最新のlog.asをsvn coした。 http://d.hatena.ne.jp/nishiohirokazu/20080325/1206433123 - /Applications/Adobe Flex Builder 3/sdks/3.0.0/frameworks/ のパスに空白文字が入っているのがうっとうしかったので /usr/lib/f…
いまからMacBookにActionSctipt開発環境を構築する - まずflex 2 sdkを入れる。Adobe IDが見つからないのでもう一度取る。 - 待ってる間にrascutいれる。gem install rascut - ダメだ。sudo gem install rascut - flex 2 sdkをダウンロードしようとするとFle…
tamarin-central/core/Array.as // ECMA 15.4.2.2 public function Array(...args) { var n:uint = args.length if (n == 1 && (args[0] is Number)) { var dlen:Number = args[0]; var ulen:uint = dlen if (ulen != dlen) Error.throwError( RangeError, 1…
コメントの後がかかった時間。 配列の添え字でアクセスするのよりも、クラスのメンバ変数にアクセスするのの方が速くてちょっとびっくりしたけど、ActionScriptの配列はC的な配列じゃないからかも。逆にクラスのメンバ変数はすでに配列として確保されていそ…
vがSpriteのインスタンスであるときにxに0.09を代入すると0.05に丸められる。 v.x = 0.09; log(v.x); // 0.05 内部では20分の1ピクセル単位(72dpiの場合。Twip)の整数で保持されているんだそうな。そんなことになっているとは思わずにxに値を入れたり出した…
getTime(); for(var i:int=0; i < N; i++){ } log(getDiff()); 100000000回の繰り返しで464ms、関数冒頭にiの宣言を移動したら462ms。気にしない方が良さそうだ。3番目までに関してはgetlocal3なんてインストラクションがあるから速いかもと期待したんだけど…
http://d.hatena.ne.jp/nishiohirokazu/20080129/1201600506 予想で書いてみますが、コード生成時にdiff * diffの値をスタックからpopする処理が抜け落ちてるのではないでしょうか(多分バグ)。 で、try-catchで囲んだ場合は、正しいコードが生成されていると…