Archive for the ‘misc.’ Category
Flash CS4日本語ヘルプ&リファレンス
Adobe® Flash® CS4 Professional
http://help.adobe.com/ja_JP/Flash/10.0_Welcome/
Adobe ActionScript 3.0 のプログラミング
http://help.adobe.com/ja_JP/ActionScript/3.0_ProgrammingAS3/
ActionScript 3.0 言語およびコンポーネントリファレンス
http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/
on the fly @ minimum interface
山口情報芸術センターYCAMで11/1から開催中の「ミニマムインターフェース」展で
会場のナビゲーションデザインを担当しました。
「ミニマム インターフェース」展では、ナビゲーションデザインを、展示に対するメタ・インターフェースの意味で、作品と鑑賞者の新しい関係性を築く手がかりとして位 置づけています。多種多様なメディアが混在・競合する現在、「紙」という原初的なメディアが持つ存在感や直感性を改めて見直し、最新の情報技術と組み合わ せることによって、展覧会の新たなナビゲーションの可能性を試みています。
“on the fly”
本展 フライヤーは、必要最低限の文字情報のみを掲載し、フライヤーそのものがナビゲーションツールとして、ミニマムなインターフェースとなる仕組みをもってい ます。16個の穴があいたフライヤーを、会場内の3ヶ所に設置されたナビゲーションテーブルに載せ、それぞれの穴をふさぐことによって、展覧会や作品の情 報が表示される仕組みになっています。このシステムは「on the fly(=「その場で」「動的に」「即興で」の意)」と名づけられ、高精度の形態検出技術が組み込まれることによって、フライヤーがテーブルのどの位置に 置かれても作動し、インタラクションを楽しみながら展示データを表示することができます。
(展覧会ウェブサイトより)
伊東豊雄×takram「風鈴」展

Flashとは直接関係ないですが、おすすめの展覧会をご紹介します。
赤坂にあるホテルニューオータニのオカムラショールームで開催中の伊東豊雄×takramによる「風鈴」展です。
天井から吊り下げられた約300個の風鈴が、人の動きに応じて涼やかな音と光を放ちます。
蛍の群れの明滅の同期現象が、個々の蛍の相互作用によってもたらされるように、takramが作ったこの風鈴もセンサーネットワークによってそれぞれの風鈴の光と音のリズムが近接する他の風鈴と影響を及ぼし合うことで空間全体に様々なリズムやパターンを生み出します。
また、自然界のリズム現象がちょっとした外乱でカオス状態に陥るのと同じように、ネットワークに生じるノイズなどの影響で予期しない現象が発生したりと、設営では様々な苦労があったそうです。
土日とお盆はクローズで場所も少し行きづらいですが、是非ゆっくり体験してみてください。
p.s.
ここに来る方には言うまでもないと思いますが、昨日から開催中の「NOW UPDATING… THA/中村勇吾のインタラクティブデザイン」もおすすめです。新作だけでなく、見慣れた作品も大型ディスプレイや小気味のよい演出で新鮮に感じられます。こちらも日曜・祝祭日休館なのでご注意を。
Feed URLリダイレクトの設定変更
WordPressへの移行に伴って行ったFeed URLのリダイレクトがAtom→RSSフィードになっていましたので修正しました。一部のBlog Readerではうまく取得できなかったかもしれません。
現在は、Atomの場合
http://as3s.org/atom.xml → http://as3s.org/feed/atom/ (リダイレクトされます)
またはRSSの場合
http://as3s.org/feed/
となっています。
LEADING EDGE DESIGN
LEADING EDGE DESIGNのサイトをリニューアルしました。
このブログではActionScriptに関する情報だけを掲載してきましたが、本業はLEADING EDGE DESIGNでデザインエンジニアとしてプロダクトデザインやユーザーインターフェイスデザインに関わっています。→ About
仕事としてはユーザーインターフェイスデザインのプロトタイピング手法としてFlashを利用することが多いのですが、久しぶりにFlashを使ったウェブサイトを製作しました。
RadioheadのプロモーションがGoogle Codeで行われている理由
RadioheadがGoogle Codeで”House of Cards”のPVを公開しています。
http://code.google.com/creative/radiohead/
このPVはビデオカメラをいっさい使わず、レーザースキャニング技術を使った3Dデータをもとに構成されており、
Flash版のViewerでは、リアルタイムに視点を変えながら再生することもできます。
http://code.google.com/creative/radiohead/viewer.html
さらに、この3DデータはCSV形式で公開されており、誰でもこのデータを使って作品を作ることができるようになっています。
http://code.google.com/p/radiohead/downloads/list
Processingのサンプルはダウンロードできますが、Flash版はなかったので、簡単なサンプルを作ってみました。
サンプルとソースは以下の通り。
GoogleとYahoo!がFlash検索を改善
AdobeがFlashの検索インデックス化技術をGoogleとYahoo!に提供することでFlashコンテンツが検索されやすくなるそうです。
具体的な技術は明らかにされていませんがWebmaster Central blogのQ&Aから気になる点をまとめると、
Q: What about non-textual content, such as images?
At present, we are only discovering and indexing textual content in Flash files.
Also note that we do not index FLV files, such as the videos that play on YouTube, because these files contain no text elements.
インデックスされるのはSWF内のテキスト情報のみ。
画像やFLVファイルはインデックスされない。
Q: What are the current technical limitations of Google’s ability to index Flash?
1. Googlebot does not execute some types of JavaScript. So if your web page loads a Flash file via JavaScript, Google may not be aware of that Flash file, in which case it will not be indexed.
JavaScriptでSWFをロードしているとインデックスされない場合あり。
2. We currently do not attach content from external resources that are loaded by your Flash files. If your Flash file loads an HTML file, an XML file, another SWF file, etc., Google will separately index that resource, but it will not yet be considered to be part of the content in your Flash file.
外部ファイルは個別にインデックスされるが、元のSWFファイルの一部とはみなされない。
とのこと。
まだ開発中とのことですが、逆にJavaScriptや外部ファイルに中途半端に対応されるよりも、HTMLにはインデックスされたいコンテンツを記述して、SWFObjectなどJavaScriptでSWFコンテンツに置き換えられる方がありがたい気もしますが。。。
getter/setterを利用してイベントリスナーを動的に切り替える
AS2では
Mouse.addListener(this);
とすることで、MouseDown時に、this.onMouseDownメソッドが呼ばれるようになります。
trace("default");
}
function test() {
trace("test");
}
Mouse.addListener(this);
this.onMouseDown = test;
などとすることで、addListenerした後でもonMouseDownメソッドを動的に切り替えることができます。
AS3で採用されたイベントモデルでは、addEventLisntener時にイベントリスナーの参照を引数として指定するようになり、また、ほかのモダンな言語と同様、参照渡し(call by reference)ができないため、以下のようなコードではAS2に相当する動的なリスナーの切り替えができません。
trace("default");
}
function test(event:MouseEvent):void {
trace("test");
}
stage.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
onMouseDown = test; //意味なし
上記の例では、addEventListenerで渡されるのは、その時点でのonMouseDownの値なので、その後にonMouseDownの値を変えても意味がありません。
【参考】AS3では関数の引数はすべて値渡し(call by value)である
そこで、下記のようにgetter/setterメソッドを利用することで同じような動作が実現できます。
この例では、最初のMouseDownと2回目以降のMouseDownで呼ばれるリスナー関数が切り替わります。
AS3で陥りがちなメモリーリーク
AS3ではガベージコレクションによるメモリ管理が導入されています。
ガベージコレクションとは、簡単に言えば「どこからも参照されなくなったオブジェクトがころあいを見計らって勝手にメモリから消去される」仕組みです。
この「どこからも参照されなくなった」という条件がクセモノで、気をつけないとすぐにメモリーリークの原因になります。
メソッドクロージャとバインドメソッド
「メソッドクロージャ」という用語の使われ方が混乱しているようなので詳しく調べてみました。
