Hatena::ブログ(Diary)

satoru.netの自由帳 このページをアンテナに追加 RSSフィード

080509Friday

[]音楽にシンクロするFlash。ビデオドラッグ効果もあるお( ^ω^ )ニコニコ

【注意】音量最大で、ブっ飛んでネ♪

http://myspace.com.satoru.net/app/sync/

f:id:satoru_net:20080509200656p:image

f:id:satoru_net:20080509200956p:image

winampとかでよくあるアレなんだけど、

RPG作りにも飽きてきたので、余興でこんなのつくってみた。

星は、前にどこかで拾った関数を利用。

function drawStar(gr:Graphics, p:Number, er:Number, ir:Number, x:Number, y:Number,ps,color) {
	 if (ps == undefined) {
	  if (p % 2) {
	   ps = -Math.PI / 2;
	  } else if ((p - 6) % 4 == 0) {
	   ps = 0;
	  } else {
	   ps = Math.PI / p;
	  }
	 }
	 var i:Number = 2 * Math.PI / p;
	 var j:Number = i / 2;
	 var ts:Number;
	 gr.moveTo(x,y)
 	 
	 for (var t:Number = 0; t < 2 * Math.PI; t += i) {
	  ts = t - ps;
	    if(t){
			gr.lineTo(x + Math.cos(ts) * er, y + Math.sin(ts) * er);			
		} else {
			gr.moveTo(x + Math.cos(ts) * er, y + Math.sin(ts) * er);			
		}
	  gr.lineTo(x + Math.cos(ts + j) * ir, y + Math.sin(ts + j) * ir);
	 }
	 gr.lineTo(x + Math.cos(ps) * er, y + Math.sin(-ps) * er);
	 
	 gr.endFill();
}

なんか、これ一見、すごそーにみえるんだけど、実際つくってみたら超簡単だった。よっぽどRPGの方がややこしいわ。

それ以外の部分は、AS3の SoundMixer.computeSpectrum(bytes, false, 0); 付近で、音をバイナリで取り出せるから

後はその値に基づいて平均値とったりして、ブイブイしてるだけだよー。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

©satoru.net
Mail Twitter