タグ

ブックマーク / www.be-interactive.org (10)

  • BeInteractive! [x = x + (d - x) / 2.0 を時間に基づく関数に変換する]

    BetweenAS3 でやっぱり物理的なイージングをサポートしたい。基的には時間に基づくトゥイーンしかサポートしていないんだけど、「時間から現在値を算出する関数」と「目的地に着くまでにかかる時間を算出する関数」が導出できれば、組み込むことができる。というわけで、色々やっていたら、なんとなくできた。 今回は、誰もが一度は書いたことがあるであろう、フレームごとに現在値から目的地まで距離の半分ずつ近づく (ゼノンのパラドックスのみたいな) アレについて考えてみる。元コードはこんなイメージ。 function enterFrameHandler():void { x = x + (d - x) / 2.0; } まあ見覚えあるよね。x が現在値で d が目的地。 まずはじめに、この関数を一般化するところから。開始値を b として、係数 (上のコードでは 2.0 になってる値) を m としたとき

  • BeInteractive! [fladdict の人がぶっちゃけたので俺もぶっちゃける (でもあまり参考にならない)]

    fladdict の人が自作 iPhone アプリの売り上げについてぶっちゃけたので、俺も iPhone アプリ開発する FLASHer の一員としてぶっちゃけてみる。ただ、参考になるかは不明。fladdict の人みたいに色々やってないので、普通に App 作って普通に売ったらこうなりますよ、という例。 App 一目 (InfinitySheep) これこれ。そもそもこんなもん有料で出しても買わねーよww っていう話もあるんだけど。検索に出るようになった 12/08 から一昨日 12/28 までのダウンロード数は、38。 誰が買ったかまでは分からないので推測でしかないけど、ランキングや新着に入ってない App (ちなみに InfinitySheep は新着に載ることは無かった) に AppStore 内で辿り着く方法は、検索でたまたま引っ掛けるか、カテゴリページを超辿って見つけ出すか

  • BeInteractive! [ActionScript 3 用便利ライブラリ集に Spark project をミックス]

    トラックバックはありません。TrackBack URL:http://www.be-interactive.org/trackback.php?id=404

    shokai
    shokai 2008/08/23
  • BeInteractive! [FlexBuilderのエディタを使いこなす]

    Beta2も出たことですし、作業効率を上げるためのショートカットを紹介します。常識と言われればそうかもしませんが、使ったこと無い人は是非試してみてください。ちなみにOSXなので、Windowsの人は適当に読み変えてください。 Command + クリック または F3 (Go To Definition) 恐らく一番使われるショートカット。変数名メソッド名クラス名の上でこれをやると、定義元にジャンプ出来ます。 Command + G (Search Declarations) 変数名やメソッド名やクラス名の上でこれをやると、それを定義しているコードを検索出来ます。 Command + Shift + G (Search References) 変数名やメソッド名やクラス名の上でこれをやると、それを参照している全てのコードを検索出来ます。 Command + Shift + T

  • BeInteractive! [Shibuya.abc#1を開催しました + サーバーサイドActionScript]

    日、サイボウズラボにて、Shibuya.abc#1が開催され、無事終了致しました。色々と協力してくださったTAKESAKOさん、nishioさん、そして発表してくださった変態の方々、見に来てくださった変態の方々、当にありがとうございました。予想以上に楽しかったと僕は感じてるんですがどうでしょう?なんだかんだ言って皆かなりABC的な話で盛り上がってましたね。以下簡単レポ。 Shibuya.abc#1 基調講演 - beinteractive まず最初に僕の基調講演から。いきなりバイナリの話をして死者が出るといけないので、Tamarinで遊ぼう的な内容です。が、それが高じて遂にサーバーサイドActionScriptを実現してしまいました。詳しくは以下のスライド(PDF, 1.7MB)で。 http://www.be-interactive.org/works/Shibuya.abc-

  • [FlexSDK(コンパイラ含む)が正式にオープンソースに]

    あまりにもひっそりと行われ過ぎていて、KLabさん経由で知ったのですが、FlexSDKが正式にオープンソースになっており、Adobe Open Sourceで見ることが出来るようになっています。 具体的なソースはopensource/flex/sdk/trunk以下に一式どーんと大放出されています。おじちゃん涎が止まらないよ。じゅるじゅる。気になるコンパイラのコードとかどこにあるのかなーと探してみると、trunk/modules以下に色々あって、コンパイラの核となるコードはascの中に入ってます。言語はjavaです。ちなみに、Moutain View Compiler Companyという会社が書いてるみたいです。 これらのコードはMozilla Public Licenseの下で公開されているので、これに従う限り自由に使えるということになります。実は、ASコンパイラやSWF生成の他に

  • BeInteractive! [AS3で、どこでも簡単にスタックトレースを取る] flash actionscript

    「この関数一体何処から呼ばれてんだよ!!」って思う事ありますよね。そんなとき、以下のコードで簡単にスタックトレースを取る事が出来ます(デバッグプレーヤーのみ)。 trace(new Error().getStackTrace());

    shokai
    shokai 2007/12/26
    trace(new Error().getStackTrace());
  • BeInteractive! [URLLoaderThread]

    id:secondlifeの人が、スレッドライブラリのバグフィックスとThreadURLLoaderの追加をしてくれたので超嬉しい。 そこで、俺もURLLoader用のスレッド書いてみた。こっちは、ロードが完了すると勝手にスレッドが終了するのでjoinと組み合わせると便利なのと、エラーイベントが起こった場合に例外を投げてくれるので親切です。独自スレッドの実装のサンプルにもなると思うので、いつもより多めにコメントつけといた。 http://snippets.libspark.org/svn/as3/Thread/src/org/libspark/net/URLLoaderThread.as で、実際にこれを使うサンプルはこれ。 http://snippets.libspark.org/svn/as3/Thread/samples/urlloader/ ただ AS3 はかなりの処理が

  • BeInteractive! [AS3でも他のクラスからprivateなメンバにアクセス出来る可能性が開けた]

    発見しました。 AVM2(FlashPlayer9)では、ランタイム時の型チェックが厳しく、privateなメンバにはどうやってもアクセス出来ませんでした。これが超内部的なレベルでチェックが行われていたとすると、もはやどうしようもないんですが、実はそうではないことに気付きました。 AVM2は、メンバを参照するときに、内部的に「ネームスペース + メンバ名」という形の参照の仕方をします。例えば、「A::public + hoge」(Aクラスのpublicなhoge)「A::private + fuga」(Aクラスのprivateなfuga)といった具合です。 これから分かるように、privateなメンバにアクセスする際は「クラス名::private + メンバ名」という形を取ればいいことになります。普通にSWFをコンパイルすると、自分のクラス以外ではこの形式のコードは生成出来ないのです

  • BeInteractive! [知っていると得をするActionScript3.0新文法]

    知らないと損をするActionScript3.0の新文法をまとめて紹介します。 複数の変数の出力が楽に:trace 引数に変数を複数渡すと、自動的にスペースで区切って表示をしてくれます。 var a:int = 0; var b:String = 'hgoe'; trace(a, b); // Output: 0 hoge 要素の巡回が楽チン:for each 今まで、配列の要素を巡回するのは、次のようにするのがセオリーでした。 for (var i:Number = 0; i < list.length; ++I) { trace(list[i]); } しかし、もうこんな面倒な事は必要ありません。次のように書けば、list内の要素がひとつずつelementに代入されてループします。 for each (var element:Object in list) {

  • 1