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のタイミングで、さらに取った映像を加工したものをロードしようと思ったんですが、没にしたので途中で投げたという。