アーカイブ : 2013年 1月

leap motion メモ

leap motion https://leapmotion.com/

の情報が色々上がってきているのでメモ。

ライブラリ

・leapmotionAS3

https://github.com/logotype/LeapMotionAS3

・runway

https://github.com/rmhall/runway

facebookの自分のウォールに画像とメッセージを投稿する for AIRforAndroid,AIRforiOS

1,準備

2,ActionScript3

 


package
{
import flash.display.BitmapData;
import flash.display.MovieClip;
import flash.events.Event;
import com.facebook.graph.FacebookMobile;
import flash.geom.Rectangle;
import flash.media.StageWebView;

	public class Main extends MovieClip
	{

		//facebookアプリID
		protected static const FACEBOOK_APP_ID:String = "123456789";

		// 投稿するメッセージ
		private var postMsg:String = "hogehoge";
		// 投稿する画像
		private var postbmpd:BitmapData = new BitmapData(10,100,true,0xFF000000);

		//OAuth用stagewebview
		private var webview:StageWebView;

		public function Main()
		{
			this.addEventListener(Event.ADDED_TO_STAGE, onInit);
		}

		private function onInit(e:Event):void
		{
			removeEventListener(Event.ADDED_TO_STAGE, onInit);

			webview = new StageWebView();
			webview.stage = this.stage;
			webview.viewPort = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);

			//API初期化
			FacebookMobile.init(FACEBOOK_APP_ID, fbInitHandler);

		}

		//facebookAPI初期化完了時のイベント
		private function fbInitHandler(response:Object, fail:Object):void {
			if (response) {
				//初期化完了してたらログイン処理します
				FacebookMobile.login(handleLogin, this.stage, ['user_photos', 'publish_stream'],webview);
			}else {
				trace("初期化失敗しました");
			}
		}

		//ログイン完了時のイベント
		private function handleLogin(response:Object, fail:Object):void {
			//ログイン成功してたらデータ送信するよ
			if (response)postData();
		}

		//画像を投稿する
		private function postData():void {
			var values:Object = { message:postMsg, fileName:'FILE_NAME', image:postbmpd };
			FacebookMobile.api("/me/photos", handleUploadComplete, values,"POST");

		}

		//投稿完了時のイベント
		private function handleUploadComplete(response:Object, fail:Object):void {
			if(response)trace("uploadcomp");
		}
	}
}