— boreal-kiss.com

Archive
Tag "FLASH"

fla01
» fla01 (SWF)
» fla01 (source)

fla02
» fla02 (SWF)
» fla02 (source)

Processingの勉強中。でもActionScriptで書いてる。ProcessingのIDEインターフェイスは渋くて格好いいなあ。コーディングしにくいけど。

Read More

[Flash] Unknown Preasures

» Unknown Pleasures (SWF)
» source

Joy Division / Unknown Pleasuresのアートワークの幾何学模様を再現したかった。地形っぽさはBitmapData.perlinNoise()によるもの。画面クリックで再描画(ちょっと重いかも)。あとMacのFirefox3だけ?なのかしらないけど、Mac Firefox3だとstageプロパティがうまく取得できてないっぽい(stage.stageWidthなどが取得できない)。Safariは大丈夫だった。Flash Player 10と相性悪いのかな。

追記2008/11/19

せっかくなのでThe 25-Line ActionScript Contestに応募した。マジックナンバーだらけになったけど25行ピッタリでいけた。

Read More

ブログ右上About欄のちっさいMacドック風なやつがそれ。僕がちょくちょくやってるWebサービスのアイコンで埋めてみた。Leopardのドックはこんな動きのような。。。。pixivもいれてもよかったんだけど大きいアイコンが見当たらなかったので断念した。もう少しソースに汎用性がでてきたら公開するかブログパーツにするかなりしようと思う。

Read More

[Flash] カーリーブレイス
» [Flash] カーリーブレイス

BeatTimer – Spark projectというリズムを管理するライブラリ(メトロノーム)のテスト。シンプルな構造なのにかゆいところに手が届いていて面白い。使い道が色々ありそう。

Read More

Wikipediaを見て調べたので大嘘があるかもしれません。Wikipediaの文章には即しているつもりです。

GPL

コピーレフト(使用等に関する制限が派生物に一生つきまとう)。配布する場合は、改変できるように必要なものを全て配布する必要があり、また複製・改変したものを再配布する場合も同様にGPLに関わるもの全てを開示しなくてはいけない。GPLを含む商用アプリケーションを配布する場合は面倒くさいかも。TVゲームのICOでGPL違反があったとかでニュースになっていたのが記憶に新しい。著作者の表示とかは不要。

代表的なもの:
amfphp
FLARToolKit – Spark project

参考:
GNU General Public License – Wikipedia

Mozilla Public License (MPL)

コピーレフト。基本はGPLと同じ。ただし再配布物のライセンスをMPL, GPL, LGPL(Lesser GPL。GPLより制限の緩いもの)から選択可能な点が異なる。一旦ライセンスを変更した派生物はそのライセンスに従う必要がある。例えばMPLのものを改変しGPLで再配布したらその派生物のライセンスは以降GPLとなる。下記のThunderBoltはコンソール本体のソースを公開していないのでプロジェクト全体としてはMPLの基準を満たしていない。

代表的なもの:
flash-thunderbolt – Google Code
Flex SDK – Adobe open source

参考:
Mozilla Public License – Wikipedia

MIT License

非コピーレフト。問題が生じても一切責任は負わないという条件が特徴(免責事項を記載しなくてよい)。好き勝手使ってよい。著作者と使用許諾(どちらも決まったフォーマット有。詳しくはlicenses/MIT_license – Open Source Group Japan Wiki)を全ての配布物、または重要な箇所に記載しておく必要がある(開示の必要性があるかどうかは不明)。Flashのオープンソースプロジェクトはこのライセンスのものが多い。

代表的なもの:
papervision3d – Google Code
tweener – Google Code
rubyamf – Google Code

参考:
MIT License – Wikipedia

BSD License

非コピーレフト。上記MITライセンスと似ていて無保証と著作権表示を守れば改変・再配布OK。さらに配布物の開示も不要。現在はBSDライセンスに関する宣伝条項を撤廃したNew BSD Licenseが主流(著作者表示を撤廃したわけではない)。

代表的なもの:
as3flexunitlib – Google Code
as3corelib – Google Code
Cairngorm – Adobe open source

参考:
BSDライセンス – Wikipedia

Apache License

非コピーレフト。著作権と免責事項の表示が必要(テンプレート有)。改変したものを配布する場合は、改変箇所の明記が必要。配布時には別途Apacheライセンスの条文コピー(LISENCE)と使用ライブラリに関する詳細(NOTICE)を記述したファイルを添付する必要がある。

代表的なもの:
away3d – Google Code
ICODecoder – Spark project

参考:
Apache License – Wikipedia
Apache License, Version 2.0 – The Apache Software Foundation

追記2009/03/28

New BSDライセンスに関する説明を訂正。詳細はNew BSD License のNew部分を勘違いしてた – boreal-kiss.com

Read More
  • The Essential Guide to Open Source Flash Development (The Essential Guide)

    The Essential Guide to Open Source Flash Development (The Essential Guide)

    Flash本。ネットで断片的に情報を集めるとえらい時間がかかりそうな膨大な数のオープンソースプロジェクトを一カ所に集めてレビュー(ほとんどは紹介のみだがワクワクさせられる)しているすごい本。しかもそれぞれのプロジェクトの責任者のような人が執筆しているのがよい点で俄然信頼性がでてくる。内容が無茶苦茶濃いので全部読めてないけど、AMFPHPとデバッグツールに関するレビュー部分は役立った。haXeが気になった。前半5章ぐらいを同じ人が執筆しているのだけど、何故かActionScript 2と3を(断りなしに)混在させて説明していくスタイルなのでよみづらい。Papervision3Dは10ページほどしか説明されていない。こんな中途半端にページ割くぐらいならなくてもいいんじゃない。あとTweenerじゃなくてFuseってのが紹介されてる。Tweenerにしろよ!

    総合ポイント

  • Foundation Flex for Developers: Data-Driven Applications with PHP, ASP.NET, ColdFusion, and LCDS (Foundation)

    Foundation Flex for Developers: Data-Driven Applications with PHP, ASP.NET, ColdFusion, and LCDS (Foundation)

    Flex本。名前の通りFlexとその他とのデータ通信、という部分に重点を置いている。HTTPService(URLLoadrと違うところ)やRemoteObject、サーバー側の各技術についてそれぞれ章を設けて過不足なく説明している。本の半分は各サーバーサイド技術のケーススタディなので中々貴重な本なんじゃないかな。RemoteObjectに必要なconfigファイルが何なのか説明がなく残念(今だに理解できておらず)。Ruby(Rails)との連携が全然書いてないのも残念無念。

    総合ポイント

  • Creating Mashups with Adobe Flex and AIR (Friends of Ed Abobe Learning Library)

    Creating Mashups with Adobe Flex and AIR (Friends of Ed Abobe Learning Library)

    Flex + AIR本。マッシュアップされる側(Twitter, Amazon, etc.)のAPIの説明に重点が置かれていて、ActionScriptはできて当たり前という感じ。扱っている内容は高度だと思う。同時に3コのAPIを盛り込んで(1コずつやれよ!)モリモリコーディングしていくけどスクリプトの説明はおかまいなしというスタイルで、重要なところが見えにくく教本としてはあまり好きになれない。後半、結構なページ量AIRに割かれていて、それは役立った。特にFlexからAIRに移行する際のつまずきそうな箇所に重点が置かれている(ウィンドウと***-app.xmlについて等)。

    総合ポイント

    Twitterクライアントの作成例の図に日本人の方の発言がでかでかと掲載されてて超おもろい。本の著者は絶対理解してないだろうけど。

    ****: エロゲはよくわからんな。
    *******: 靴脱がしちゃらめええええええええ

    (Creating Mashups p.212 Figure 10-4より)

Read More

サーバーから受信したxmlデータをActionScript Objectで受信したとき、格納したArrayCollection (Array)の構造を簡単に調べたいというのがそもそもの目的。いくつかあたってみたのでその簡単な使い方と個人的な感想を書き留める。Flex 3でしか確認していないので、Flashの場合は少し勝手が違うかもしれません。結論を先に言うと、Xray, ThunderBolt, Arthropodの中で目的を達成できたのはXrayのみ。個人的に気に入ったのはArthropod。

調べたこと

以下のようなxmlデータをHTTPServiceのレスポンスとして受け取りArrayCollectionに格納したとき、ネストした内容(id, name)がLoggingツールで見れるかどうか確認。

<?xml version="1.0" encoding="utf-8"?>

<users>
    <user>
        <id>1</id>
        <name>Chris Allen</name>
    </user>
    <user>
        <id>2</id>
        <name>Wade Arnold</name>
    </user>
    <user>
        <id>3</id>
        <name>Aral Balkan</name>
    </user>
    <user>
        <id>4</id>
        <name>Nicolas Cannasse</name>
    </user>
</users>

1. Xray

生のArrayCollectionの中身は見えなかったが、ArrayUtil.toArray()を用いて受信データをArrayCollection -> Arrayに変換すれば確認可能。ツール自体の機能で、ステージ上のオブジェクト全てのプロパティを丸見えにすることができ、さらにプロパティをXrayコンソールから動的にいじることができるのが便利。フレームレートがリアルタイムに確認できるので、例えば予定以下のパフォーマンスだった場合に、ボトルネックになる箇所を探せる可能性がある(アルファをいじったら改善された etc.)。難点は超不安定なところ。専用コンソール(.swf)がやたらと落ちる(起動中に止まる)。Macを再起動しないと再生できないような状態になることもしばしばで、使うのがためらわれる。現在開発進行中ではないことも理由かもしれない。

使い方

  1. osflash-xray – Google Code > Downloads > Xray_Flex2_Library_v0.5.swc をダウンロード(コネクター)。Flex3と名のつくものはなくてこれが最新バージョンになっている。
  2. Xray ( The AdminTool ) Open Source Flash > Downloads > Interfaceよりコンソールをダウンロード(SWF Onlyと書かれたもの)。これを使ってモニターすることになる。
  3. Flexプロジェクトにswcファイルにパスを通す。
    import com.blitzagency.xray.inspector.flex2.Flex2Xray;
    import com.blitzagency.xray.logger.XrayLog;

    をインポートし、それぞれのインスタンスを作成して、swfファイルを起動(例えばmyFlexと命名)。

    var xray:Flex2Xray = new Flex2Xray();
    var log:XrayLog = new XrayLog();
  4. Xrayコンソール(Xray.swf)を起動して左側のGoボタンを押すと調べたいswfファイルのモニタリングを開始する。
  5. myFlex内の調べたいオブジェクトに例えば以下のような処理を(myFlex内で)施すことでXray.swfコンソールで中身を確認できる。
    //ac is ArrayCollection receiving the xml data
    var ary:Array = ArrayUtil.toArray(ac);
    log.debug("Nested arrays:", ary);

Xray

2. Arthropod

シンプルでコンパクトで見た目もこぎれいなAIR製Logger。利用方法も簡単なので非常に良いと思うけど、目的は達成できず。ArrayColection、ArrayCollectionをArray変換したもの、ネストしたArrayともに視覚化できなかった。今回は結局何にもできなかったけど、個人的にはオススメ。

使い方

  1. Arthropod > DownloadよりASソース(1ファイル)とコンソール本体(.air)をダウンロード
  2. Flexプロジェクト(myFlex)にソースをインポート。
    import com.carlcalderon.arthropod.Debug;
  3. myFlex内の調べたいオブジェクトに以下のような処理を施し、myFlex.swfを起動するとArthropod.airで中身をモニターすることができる。Logging用のインスタンスを作らなくてよいところが便利。
    //ac is ArrayCollection receiving the xml data
    var ary:Array = ArrayUtil.toArray(ac);
    Debug.array(ary);
  4. 他にもいくつかユーティリティがあるがそれほど多くなく、長ったらしいドキュメンテーションもない。

Arthropod

3. ThunderBolt

Arthropodと同じくモニターはair製で、Flash Playerが吐くFlashlog.txtをモニターする作りになっている。ArrayCollection、ArrayCollectionをArray化したものの視覚化はできなかったが、例えば以下のようにネストしたArrayの中身は確認できた。

var ary:Array = [{id:"1",name:"Chris Allen"}, 
                {id:"2",name:"Wade Arnold"}, 
                {id:"3",name:"Aral Balkan"},
                {id:"4",name:"Nicolas Cannasse"}];

ただ、僕の目的は達成できておらず、さらに起動までの設定が少し面倒、モニターが無駄にでかい、なんか見た目がダサイというところが使う気を起こさせない。

使い方

設定についてはFlashのログ閲覧アプリThunderBoltをいれてみた|_level0.CUPPYが詳しいのでそちらを参照ください。少し補足しておくと、Flash PlayerにFlashlog.txt (Macの場合、/Users/USERNAME/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt)というログファイルを吐き出させる設定が必要で、そのためには”/Users/USERNAME/mm.cfg”に以下の記述をする必要がある。

TraceOutputFileEnable=1

ThunderBolt

Read More

twitter円グラフ | ra66it.netがキレイだったんで真似てみた。円弧の描画はAS3CB Libraryを使った。画面クリックで描画再スタートします。

[Flash]パイチャート

Read More

The Essential Guide to Flex 3 (Essential Guide)

この本読んでFlexの基礎を習得したのだから文句いうなと言われそうだけど、払った金額は知識増と相殺、プラスαでストレスをもらったのでむかついている。

短所

  • 例えば良書Colin Moock – Essential ActionScript 3.0とessentialの意味合いが異なりすぎてまぎらわしい。”The essential Guid to Flex 3″のessentialはオライリーで言うところのの「はじめての(Lerning)」だ。Colin Moock本のノリで買った人はたぶんキレる。
  • 「心配するな!これについては後ほど詳しく説明するから!」とどこのチャプターで説明するか書いておらず不親切(既出の情報に関する言及も同様)。さらにこのように書いているにも関わらず、最後まで言及していない題材もある(例えばどのようにデータをセーブするのか教えると言いつつ教えない)。各チャプターを独立して書いているのかしらないけど教本として全体の整合性がとれてない。
  • 「心配するな!」とやたら連発されて逆に不安になる。
  • コードを断片化・小出しにして説明していくので思考が分断される。例えば同じ出版社の良書Keith Peters – Foundation Actionscript Animation: Making Things Moveは骨格->肉付けという風にコードを説明していくスタイルをとっていて内容が頭に入ってきやすい。同じ出版社の同じ値段の本とは思えない。

長所(強いて挙げるなら)

  • 索引がまあまあしっかりしている
  • 技術書にしては安い(安売りされている)
  • サンプルで一章丸々読める。(Sample Chapter)

追記 2008/08/08

レーダーチャートによる評価レビューはこちら。文句言ってるわりにリファレンスとしてちょくちょく読んでたりする。

Read More

various functions with different distributions for Math.random() « Pixeleroで興味深いことをやっていたのでFlashで実践。Math.random()の頻度分布は0以上1未満の範囲でだいたいフラットな形状になる。じゃあ例えばこれは?

f = (Math.random()+Math.random()+Math.random()+Math.random()) / 4

フラットな頻度分布にならず0.5近傍に頻度のピークがくる。なんでだろ。パっと理由が思いつかない。以下にデモとActioScriptソース等。横軸が関数の返す値、縦軸が頻度でスライダーをいじると関数形が変わります。

[Flash]ランダム関数頻度分布

[追記:2008/06/08]

言及されていた。[ActionScript3.0](標準)正規分布乱数 | moriBlog
中心極限定理というらしい。ちなみにMath.random()を10万回足し合わせて10万で割ると値はほぼ0.5。相対誤差0.1%未満になる。Math.random()だけを使って特定の数値を作ることが可能なわけだ。

[追記:2008/06/09 11:00]

Flex版を作成した。グラフ作成なんかはFlexで作るのが簡単でいいかも。ただファイルサイズがでかくなるのがネック。

[Flex]ランダム関数頻度分布その2

Read More