タグ

*kkandaに関するdealforestのブックマーク (5)

  • プロパティへのアクセス速度の比較 - プログラミングとかそんなの

    id:nishiohirokazuさんの少し前のエントリー「PointとArrayで速度比較」の、 ActionScriptの配列はC的な配列じゃないからかも。逆にクラスのメンバ変数はすでに配列として確保されていそう。xとかも整数にマップされてそう。 という推測が正しいのかを調べてみました。 まずは私もプロパティへ定数を代入する式の実行速度を比較してみました。 以下は、評価対象の式の一覧になります。各式を10,000,000回ループで実行した時の実行時間を//の後ろに記載しておきます。 また、pがPoint型、aがArray型、oがObject型となります。 p.x = 1; //216ms (1) p["x"] =1; //1631ms (2) a[0] = 1; //567ms (3) a["0"] = 1; //2681ms (4) o.x = 1; //2028ms (5) o["

    プロパティへのアクセス速度の比較 - プログラミングとかそんなの
    dealforest
    dealforest 2008/06/25
    プロパティへのアクセス速度の比較
  • BitmapDataを使ったParticle Systemの実装 - プログラミングとかそんなの

    前からずっと気になっていたParticle Systemの実装方式について調べました。 調査を進めてみると、SpriteをわずBitmapDataを使って描画をするという選択肢もあるということが分かり新鮮でした。 ということで、今回はBitmapDataを使ったParticleSystemの実装を解説します。 そもそもParticle Systemは、粒子(particle)の動きをシミュレーションし粒子の状態に基づいて画面描画するという動作を繰り返します。 この「動きのシミュレーション」と「画面描画」を分けるのが非常に重要で、調査前の私の理解ではこの境界が曖昧でした。 Spriteを使って描画するParticle Systemの実装は、たまに見かけるのであえて私はあえてBitmapDataに直接書き込む方式で実装してみました。 実装するにあたって、aM laboratoryのpartic

  • getURL()の挙動を調べる(その1) - プログラミングとかそんなの

    とある事情で受け取ったflaファイルに、次のようなactionscriptが記述されていました。 getURL('javascript:doSomething()'); getURL('./somewhere.html'); これをパブリッシュすると、2つ目のgetURL()の呼び出しだけが実行されるのが確認できます。 どうして、そのような挙動になるのか動作検証をしながら原因を究明していこうと思います。 そもそもgetURL()ってどういう関数なのか? まずはFlash CS3 ドキュメンテーションの説明を見てみましょう。 特定の URL からウィンドウにドキュメントをロードしたり、定義済みの URL に存在する別のアプリケーションに変数を渡したりします。 つまりこの関数を使うと、Flashが読込まれたwindowに別なURLのhtmlを読込むことなどができます。また、"javascrip

    dealforest
    dealforest 2008/06/25
    getURLの挙動。実は非同期
  • 2007-10-14

    アプリケーション記述ファイルのsystemChromeをnoneに設定し、transparentをtrueにすればよい。 記述例は以下の通り。 Test Test app! Sample app copyright information Test.swf true none true 800 600 しかし、システムのウィンドウ枠がないと閉じるボタンがないためアプリ側でアプリケーションを終了させる方法を提供する必要が出てくる。 アプリケーションを終了させるには、現在開いているすべてのNativeWindowのインスタンスを取得し、close()メソッドを呼べば良い。コードは下記の通りとなる。 import flash.display.NativeWindow; import flash.system.Shell; function closeAllWindows():void { She

    2007-10-14
    dealforest
    dealforest 2008/06/25
    システムのウィンドウ枠がないアプリを作る方法
  • [as3][flash] カメラのキャプチャ取り込みをする場合に注意すべきこと - プログラミングとかそんなの

    カメラから取り込んだ画像を使うFlashを随所で見かけるようになりましたが、複数のカメラがインストールされている環境が考慮されていない場合が多く、サンプルを動かせないということがよくあります。 ユーザーに複数のカメラから使いたいものを選択させるための設定パネルを表示するためには、 Security.showSettings(SecurityPanel.CAMERA); var cam:Camera = Camera.getCamera(); if ( cam != null ) { vid.attachCamera(cam); } といった感じで、Camera.getCamera()を呼び出す前に一行追加するだけです。 ちなみに、この方法はマニュアルのCameraクラスのgetCamera()の使用方法にて解説されていますが記載されているコードに誤植があります。 System.showSe

    [as3][flash] カメラのキャプチャ取り込みをする場合に注意すべきこと - プログラミングとかそんなの
    dealforest
    dealforest 2008/06/25
    Security.showSettings(SecurityPanel.CAMERA);
  • 1