AIRとBox2DでTwitterのみんなを表示してみたよ!
2009 年 8 月 20 日
最近はず~っとAIRばかりやってますが、今回もAIRネタです。
今回はTwitterのフレンドを表示してみよう!AIRで(Box2Dも使ってね☆)。
ということでちょっとがんばってみました。
結果は下のスクリーンキャストからどうぞ。
通常、Twitter APIでフレンドの発言を取得するにはBasic認証を突破しなければいけないのですが、前々回のパパパコメントを利用してTwitterの発言を流すPaPaPaTwitを作ってみたよ!(ネタ用)で使用したPHPでBasic認証を突破してます。
Box2Dの世界作成についてはお手本どおり。
var timerNum:int = Math.min( 30, rss.user.length() );
/* ここで画像分繰り返している */
dynamicTimer = new Timer( 300, 50 );
dynamicTimer.addEventListener( TimerEvent.TIMER, loadImg );
dynamicTimer.start();
/* タイマーが起動したら、画像のLoadを開始 */
private function loadImg( evt:TimerEvent ):void {
try {
var num:int = evt.target.currentCount - 1;
var urlReq:URLRequest = new URLRequest( rss.user[ num ].profile_image_url );
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener( Event.COMPLETE, loadImgCompleteHandler );
loader.load( urlReq, new LoaderContext( true ) );
}
catch ( e:Error ) {
trace( e );
}
}
画像が読み込めたらお手本どおりに画像をBox2Dオブジェクトに対して画像を貼り付けて(?)、あとはEnterFrameで描画を更新するだけです。
/* 描画を更新 */
private function update( evt:Event ):void {
world.Step( timeStep, iterations );
/* 画像を貼り付けたSpriteをそれぞれのBox2Dオブジェクトに追随 */
for ( var bb:b2Body = world.m_bodyList; bb; bb = bb.m_next ) {
if ( bb.m_userData is Sprite ){
bb.m_userData.x = bb.GetPosition().x * SCALE;
bb.m_userData.y = bb.GetPosition().y * SCALE;
bb.m_userData.rotation = bb.GetAngle() * ( 180/Math.PI );
}
}
UpdateMouseWorld();
/* マウスイベント */
MouseDrag();
Input.update();
}
今回は以下のサイト様を参考にさせていただきました。







