タグ

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

  • 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 をよく見かけたりします。 早いのはわかったけど「なぜそうなるのか。」「実際どんな場面で使ったりするものなのか」などはなかなか書いてなかったり。 なので今回は例を含めつつ、説明していこうと思います。 「得意な人はより得意に、そうでない人はそれなりに」を目指します。 二進法 苦手な人はいきなりブラウザバックしたくなる話だと思いますが少し我慢してください。 二進法

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    arikui
    arikui 2009/11/02
  • [ActionScript 3.0] 四分木からグラフを構築して、最短経路を探索する。│miscellaneous

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

  • 2009-09-17 - Simple Inspiration

    SiONをWonderflにライブラリとして登録していただいて以来,様々な方に試していただき当にありがとうございます(Wonderf以前から試して貰ってる超ヘビー級ギークもいますが). 折角,Wonderflというすばらしい試用環境ができたのに,現状spark project wikiのしょっぼいドキュメントしか無く手探りで試して頂いている状況なので,ブログでちょこちょこと推敲中の解説エントリを書いていこうかなと思います.最終的にはどこか(多分SparkProject)にまとまった文章として置くつもりでいます.以下,予定タイトルですが随時変更していきます.また,このエントリをインデックスとして利用する予定です. 0. SiON 概要 1. SiON の主なクラス 2. SiON で音を鳴らす 3. SiON と DisplayObject の連携 4. 音と映像とインターフェイスの連携

    2009-09-17 - Simple Inspiration
  • 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 例えば上のコード。最後の

  • 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
  • JigLibFlashとSpringCamera3Dで3Dゲームっぽい動きを実現 | ClockMaker Blog

    note.xさんのところで紹介されていた新種の3D物理エンジン「JigLibFlash」と、滑らかに追随するPapervision3Dの「SpringCamera3D」が相性がよさそうだったので、組み合わせたデモを作ってみたらなかなかいい感じのものが仕上がりました。 レーシングデモ(Google CodeのデモをSpringCamera3Dで作り変えたもの)。キーボードのカーソル(上下右左で操作ができます) demo (require Flash Player 10) source (Flex SDK Project, zip) 物理エンジンボールデモ。キーボードのカーソル(上下右左で移動、スペースキーでジャンプ) demo (require Flash Player 10) source (Flex SDK Project, zip) 3Dボールアドベンチャー 日ごろのフィードリーダーで

    JigLibFlashとSpringCamera3Dで3Dゲームっぽい動きを実現 | ClockMaker Blog
  • Saqoosha :: FLARToolKit スタートガイド

    必要なもの ・Adobe Flash CS3 以降 ・FLARToolKit ・Papervision3D (rev.814 以降) ・Web カメラ ・印刷したマーカー & マーカーデータ ダウンロード めんどいので一式をまとめたものを置いときました。はい。 http://saqoosha.net/lab/FLARToolKit/FLARToolKit-starter-kit.zip 追記(2009/2/8 1:50):ぎゃー、マーカーの PDF 入れ忘れてた。いれといた & マーカーだけアップしたのでこれをお使いくだせい。 イントロダクション Papervision3D が使える人なら非常に簡単。サンプルのメイン部分はほぼ Papervinios3D の設定だけ。使えない人もこのサンプルはめっちゃシンプルなので難しくない。大丈夫。 ただ、1 点だけ注意。座標系が Papervision

    Saqoosha :: FLARToolKit スタートガイド
  • コリン・ムックの「今から始める ActionScript 3.0 - WORLD WIDE TOUR」

    このドキュメントについて このドキュメントは2008年 1/15、 Colin Moockさんを講師として迎えて行われた、「今から始める ActionScript 3.0 - WORLD WIDE TOUR 」用のスライドを小野田 智(emotional-box.com)が邦訳したもので、Colinさん、及びAdobeからの了承を得て、公開しています。 また、元のスライドは、http://moock.org/lectures/groundUpAS3/で公開されています。 来は、セミナー参加者のための確認用なのですが、セミナーに参加できなかった方でも参考にできるように訳注を各所に追加しておきました。 誤訳や分かりづらい部分がありましたら、訳者までご連絡ください。できる限り対応させていただきます。 原文の著作権はColin Moockさんに帰属し、翻訳によって発生した二次著作権は小野

  • 1