Morioka.asでFizzBuzzとかCocomoとかなんとか

2月6日は盛岡にピザ食べに行ってきました。じゃなくて、Morioka.as->lab(0x03)に行ってきましたよ。
ここのところ体調がすぐれないので、とりあえず自分の発表分だけ。

テーマLT「ちょっと変わった時計を作ってみた」

自分は何もひねりだせなかったので、FizzBuzz時計にしてみた。
時計のロジック自体はTeraClockを使って手抜きさしてもらいました。
うーん、なんのひねりもないコード。MXML省略。
Flexでグラフィカルものを作るのは面倒っていうBKなだけなので。

<mx:Script>
	<![CDATA[
		import com.trick7.utils.TeraClock;
		private var clock:TeraClock = new TeraClock();
		private function init():void{
			this.addEventListener(Event.ENTER_FRAME,teraTimer);
		}
		private function teraTimer(e:Event):void{
			hour_canvas.rotation = clock.hoursDegree;
			minute_canvas.rotation = clock.minutesDegree;
			second_canvas.rotation =  clock.secondsDegree;
			fizzBuzz(clock.seconds);
		}
		private function fizzBuzz(i:int):void{
			var text:String= new String();
			if (i % 15 == 0){
				text='FizzBuzz';
			}
			else if(i % 3 == 0){
			text='Fizz';	
			}else if(i % 5 == 0){
				text='Buzz';
			}
			else{
				text= i.toString();
			}
			myArea.text = text; 
		}
	]]>
</mx:Script>

皆様の発表は素晴らしかった。特に見せ方という点で。ぬーん。
あと、アイデアをひねり出すという意味で、自分は頭の体操からやり直した方がいいかもしれない。

Cocomo

Cocomoで出来ることをさらっと説明。複数人でちゃん出来る事を分かって貰うために、すずりょさんにswfを渡してチャットなどに参加して貰った。後、没にした邪道時計も説明。
Cocomo部分は、AdobeMaxやライブラリについてたサンプルコードを全部足しあわせたり改造したり付け足したものなので、邪道時計でも使っていたスナップショットの所をコード紹介。

~~~~~~~~~~省略~~~~~~~~~~~~~~
private function startMirrorTimer(source:IBitmapDrawable):void {
  var timer:Timer = new Timer(1000,0);
  timer.addEventListener("timer",function(ev:TimerEvent):void {
      var imageSnap:ImageSnapshot = ImageSnapshot.captureImage(source);
      var date:Date = new Date();
      fizzBuzz(date.seconds);
      var imageByteArray:ByteArray = imageSnap.data as ByteArray;                
      swfLoader.load(imageByteArray);
      });
  timer.start();
}
~~~~~~~~~~省略~~~~~~~~~~~~~~
<mx:SWFLoader id="swfLoader" x="546"/>
~~~~~~~~~~省略~~~~~~~~~~~~~~
  </mx:Canvas>
~~~~~~~~~~省略~~~~~~~~~~~~~~
  <mx:Button id="button" label="start" click="startMirrorTimer(wcam)" height="22"/>
  <rtc:WebCamera id="wcam" width="100%" height="50%"/>

webカメラのストリーミング映像を渡して、1秒ごとにキャプチャして、そのスナップショットをSWFLoaderでロード。
さらに毎秒Dateを生成して秒を取り出し、FizzBuzzを表示という・・・これはひどいね。
Red5とかCocomoあたりのネタは今回で一段落かな。
さて、次回はどうしようかな。

参加者のみなさまおつかれさまでした。
すずりょさん、帰りホテルまで送っていただきありがとうございました〜。


追記:邪道時計って参加した人にしかわからないですね。
前述のように、毎秒毎にスナップショットをロードするので、Webカメラで他の方発表作品や本当の時計を写せば、FizzBuzz時計にしたてあげられるという代物でした。
時計のロジックを一切書かないという意味で邪道かなと。
本当はFizzBuzzのタイミングで、さらに取った映像を加工したものをロードしようと思ったんですが、没にしたので途中で投げたという。