タグ

actionscriptに関するarikuiのブックマーク (12)

  • ActionScript で立体のブーリアン演算+AGALで擬似屈折+反射シェーダ(1) - Simple Inspiration

    Boolean Crystal | Si+ (wonderfl.net) FlashPlayer11 ではステンシルバッファが使えるようになったので、お約束の立体ブーリアン演算をやってみました。ただ、コレだけだと寂しいので、incubator時代に実装したAGAL擬似屈折+反射シェーダーの改良版と組み合わせてみました。あんまり筋と関係ないところでなかなか苦労はしたのですが、全体を通してわりと素直に実装できました。FlashPlayer11の仮想GPU、良いね! 今回はFlashPlayer11で扱えるようになった3D基技術のごった煮みたいな感じです。擬似屈折+反射シェーダには Cube Texture を使って、ブーリアン演算にはステンシルバッファを使っています。ブレンドファンクションはまだポイントスプライト用加算演算くらいにしか使ってないですが、これで一応一通り触ってみた感じにはなる

    ActionScript で立体のブーリアン演算+AGALで擬似屈折+反射シェーダ(1) - Simple Inspiration
  • Flashを閃光のごとく高速化するための基礎知識

    Flashを閃光のごとく高速化するための基礎知識:速いFlash/ActionScriptチューニング入門(1)(1/2 ページ) Flash/ActionScriptチューニングの基礎知識から実践的テクニックまでを紹介する連載。読みながら試せるオンライン・サンプルもあります。Adobe AIR/Flexにも応用可能です Flashを徹底的に軽く作るための3カ条 連載では、これから数回にわたり、Flash/ActionScript 3.0(以下、AS3)のチューニングの考え方や方法について解説します。 筆者が初めてFlash/AS3のチューニングと格的に向き合ったのは、2007年の冬の「サグールテレビ」の開発においてでした。当時、開発チームでは「徹底的に軽く作る」という鉄の目標を掲げており、チューニングのためのさまざまな調査を積み重ねていました。結果、2000年に発売された古いPCなど

    Flashを閃光のごとく高速化するための基礎知識
  • [ActionScript 3.0] Fisher-Yatesアルゴリズムの可視化│miscellaneous

    要素をランダムに並べ替えるFisher-Yatesというアルゴリズムを可視化してみた。 下のウィンドウをマウスクリックすると並び替えの様子がアニメーションされます。 後ろから走査していって、自分より前のどれかと交換していく訳ですね。 計算量はO(n)です。 package{ import flash.display.*; import flash.events.*; import flash.geom.*; import flash.utils.*; import caurina.transitions.Tweener; [SWF(width="400", height="200",backgroundColor="0xffffff")] public class FisherYates2 extends Sprite{ private var balls:Array = []; priv

  • BeInteractive! [ビット演算って面白いですよね]

    馬鹿全さんが FLASHer 向けビット演算入門記事をアップしてますね。AS3 においては、必ずしも高速化にはつながらないですが、ビット演算ってパズルみたいで面白いですよね。例えば、 n = Math.max(n, 255); ※ n は整数 (uint) の代わりに、 n = (n | (((n & 0xffffff00) + 0x7fffffff) >> 31)) & 0xff; とか! 何をやってるのか少しずつ見て行ってみましょう。 一番最初に実行されるのは n & 0xffffff00 です。これで、「n が 255 以下の場合には 0 、それ以外は 1 以上」な値が作れます。 なぜかというと、255 以下の値というのは、8 ビットで全て表現出来るため、上位 24 ビットは必ず全て 0 になります。逆に 255 より大きい値は 9 ビット以上必要で、必ず上位 24 ビットのうち最低

  • 馬鹿全 - (AS3)ビット演算を倒す

    ビット演算(ビットえんざん)とは、 ひとつあるいはふたつのビットパターンまたは二進数を個々のビットの列として操作することである。 CPUからすればビット演算は簡単な論理回路で実現できるが、 四則演算、特に乗除算は複雑な論理回路を必要とするため、 多くのコンピュータでは、ビット演算は加減算より若干速く、乗除算よりずっと高速である。 Wikipedia(ビット演算) より AS3 でもビット演算で高速化するなどという Tips をよく見かけたりします。 早いのはわかったけど「なぜそうなるのか。」「実際どんな場面で使ったりするものなのか」などはなかなか書いてなかったり。 なので今回は例を含めつつ、説明していこうと思います。 「得意な人はより得意に、そうでない人はそれなりに」を目指します。 二進法 苦手な人はいきなりブラウザバックしたくなる話だと思いますが少し我慢してください。 二進法

  • ウェブリブログ:サービスは終了しました。

    「ウェブリブログ」は 2023年1月31日 をもちましてサービス提供を終了いたしました。 2004年3月のサービス開始より19年近くもの間、沢山の皆さまにご愛用いただきましたことを心よりお礼申し上げます。今後とも、BIGLOBEをご愛顧賜りますよう、よろしくお願い申し上げます。 ※引っ越し先ブログへのリダイレクトサービスは2024年1月31日で終了いたしました。 BIGLOBEのサービス一覧

    ウェブリブログ:サービスは終了しました。
  • [ActionScript 3.0] 四分木からグラフを構築して、最短経路を探索する。│miscellaneous

    下のデモでは赤い円を障害物と見立て、円に衝突しないように左上から右下まで最短ルートを求めて緑の線を引いています。 赤い円はマウスで移動できます。移動するごとにルートを再探索します。 次の手順でルートを探索しています。 1. 赤い円の位置を元に四分木を構成。(黒い線が四分木の境界です) 2. 四分木の領域の中心点を頂点と見立ててグラフを構築。領域同士が隣あっている場合頂点同士を結んで辺とする。(青い線がグラフの辺です) 3. 構築されたグラフを元にダイクストラ法で最短路を探索。(頂点間の距離を辺の重みとしています) 障害物がない部分では四分木の領域が広くなるため、必ずしも領域の中心位置が最短の経路上にくるとは限りません。 したがってこの方法で求めた経路が平面状の最短距離にはなりませんが、四分木の領域が広いということはグラフの頂点の数が減るわけですから 経路を求める際の計算量は少なくなることに

  • OZACC.blog: Dateオブジェクトのソート

    Flash | Dateオブジェクトのソート 僕が実装を担当したFlashに重大なバグが見つかった。しかもリリースの半日くらい前に。そしてそのバグはなかなか再現しない。少なくとも自分の環境では発生させることができず、まったく原因が分からなかった。 結局リリースまでに原因が判明せず、再現性が低いのでとりあえずリリース。が、アクセスの多いサイトだったので、確立は低いとは言えバグに遭遇するユーザもそれなりにいるわけで・・・ 昨日の夜になってようやく再現環境を作ることができ、今朝バグを解決。原因は僕の勝手な思い込みだった。 var aug2:Date = new Date(2009, 7, 2); var aug3:Date = new Date(2009, 7, 3); var aug4:Date = new Date(2009, 7, 4); trace(aug2 例えば上のコード。最後の

  • ルート探索│miscellaneous

    青い矩形を障害物と見立て、左上から右下までの障害物に交差しないルートを求めています。 青い矩形はマウスドラッグで移動できます。(矩形同士が重なり合うケースは考慮されてませんので、 そういう操作をした場合は結果もおかしくなる可能性があります) 探索手順 1. 矩形の頂点を抽出 2. 互いに見えている(矩形の辺と交差していない)頂点同士を見つけてグラフを構築 3. ダイクストラ法で最短ルートを検索 ダイクストラによるルート探索アルゴリズムは少し手抜きあり。 参考エントリ:[ActionScript 3.0] 四分木からグラフを構築して、最短経路を探索する。 package { import flash.display.*; import flash.events.*; import flash.geom.*; import flash.filters.DropShadowFilter; [SW

  • AS3処理の疑問 - nazolabo

    Math.abs()を使わず絶対値を求める Absolute value //version 1 i = x < 0 ? -x : x; //version 2 i = (x ^ (x >> 31)) - (x >> 31); この単純なコードでなんと2,500%高速化。さらにビット演算を組み合わせるとさらに加えて20%高速化。 http://actionscript.g.hatena.ne.jp/ConquestArrow/20070621/1182359767 これがちょっと気になったので調べてみた。 パターン ケース1(単純にMath.abs) b = Math.abs(a); ケース2(三項演算子) b = a < 0 ? -a : a; ケース3(if) if (a < 0) { b = -a; } else { b = a; } ケース4(ケース2を外部関数化) private

    AS3処理の疑問 - nazolabo
  • razorberry.com is coming soon

    is a totally awesome idea still being worked on. Check back later.

  • wonderfl build flash online

    wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい

    wonderfl build flash online
  • 1