2009年4月 Archives

« 2009年3月 2009年5月 »

ASoundのプロパティについて

ディスプレイオブジェクトライクなAPIを目指してるASoundですが、今回は実際にどの部分が"ディスプレイオブジェクトライク"なのか、具体例を挙げて説明していきます。

var ins:Instrument = new Instrument();
ins.listen = true;
ins.volume = 1;
ins.signals.push(new SinOSC(220));
ins.play();
var mc:MovieClip = new MovieClip();
mc.visible = true;
mc.alpha = 1;
mc.graphics.beginFill(0xFF0000);
mc.graphics.drawRect(0,0,10,10);
mc.graphics.endFill()
mc.play();

いきなりコードを書いてしまいましたが、これは"Instrumentクラス"が"MovieClipクラス"をモデルとしている事を示しています。Flashをスクリプトベースで制作するようになるとMvieClipより圧倒的にSpriteを使うようになり、なんとなくMovieClipを生成する事自体躊躇する事があります。が、あくまでもここはMovieClipです。

これは両者ともplay()メソッドを実装するという共通点とともに、さらに本質的な共通項、"時間軸を持つオブジェクト"である事を示唆しています。

ま、そんな改まって言及するほどの事ではないですが、続いて上から順にプロパティを見てゆきます。

ins.listen
mc.visible

これは直感的に分かると思いますが、listen = falseで消音します。まったく聞こえません。visible = falseで見えないのと一緒。若干異なるのは表示オブジェクトの場合、visible = falseをしただけではremoveChild()は実行されず、多少なりともリソースを食います。しかしInstumentの場合、内部的にremoveChild()の様な処理が施され、リソースの回収が(ある程度)可能です。


ins.volume
mc.alpha

これも直感的に分かると思いますが、alpha = 0で完全透明になるようにvolume = 0で消音します。ここでも若干差異があり、volumeの値を1以上にした場合、そのまま波形が増幅され、場合によって音が割れます。(ディストーションとか?)


ins.signals
mc.graphics

ちょっとここら辺になってくるとこじつけっぽいですが、MovieClipが実際に線や面を描画するにはgraphicsに委譲させるように、Instrumentクラスも波形の生成はsignalsを用います。
しかし、signalsが特定のクラスではなく配列であったり、複数の波形を持つ事ができたりで、やっている事が、なんとなくaddChild()みたいだったりします。
いっそ、この部分は表示ツリーの様にツリー構造にすべきかとも考えましたが、音響におけるツリー構造は不自然だと考えてやめました。



ins.play()
mc.play()

そして、プレイ。いまのところstop()はありません。あまりstop()を使用する場面を思い浮かばなかったので忘れていたペンディングしたのですが、そのうち実装します。

と言うところで今日は以上です。
次回は
filters,effects,generateEnvelop, そして目玉であるmasterについて話したいと思います。

CLOQUE.ティザーサイト

Progressionを開発してるCLOQUE.のティザーサイトがアップされてます。皆さんどうぞご覧ください。

中央でCLOQUE.の文字がモーフィングなのかパスが狂ったのか、キモかわいい動きをしています。
これはSVGデータをパースして得た数値をもとに、キモかわい目に弄くってモーションさせています。

当初はSVGじゃなくてFIVE3Dから出ているフォントをAS3クラスにコンバートしてくれる拡張機能を使う予定だったのですが、「SVGくらいパースできなきゃASerは名乗れないぜ?」とCLOQUE.の最高意志決定権者が言ったため、急遽パースする事に成りました。

でまあ、どうしてそんな台所事情をこのブログで書いているかというと、他でもなくその最高意志決定権者がこのブログの著者だからです。


というのはもちろん嘘で、本当はCLOQUE.の雑用係としてアサインされました。これからはkappa-lab研究者兼任CLOQUE.使い走りとして邁進してゆきますのでどうぞお見知り置きを。

extends Progression締め切り延長のお知らせ

こちらこちらで告知済みですが、締め切りが少々延びました。

詳細は上記のサイトでご確認していただけます。

そんな訳で、G.W.はjsfl三昧ですね。

RSS + Contuct

  • rss
  • email

Credit

Copyright (C) 2007 kappa-lab.com.
All Rights Reserved.