• カテゴリ プログラミング の最新配信
  • RSS
  • RDF
  • ATOM

blog - Flash / ActionScriptでiPadやiPhoneのタッチイベントを処理する

Flash / ActionScriptでiPadやiPhoneのタッチイベントを処理する

カテゴリ : 
コンピュータ » プログラミング
執筆 : 
kuha 2013-12-26 13:23
Adobe FlashでiPhone/iPadアプリをパブリッシュできるのだが、iPhoneアプリではマウスイベントの代わりに、タッチイベントを使う。
具体的には、TouchEventのライブラリーをインポートする。
マルチタッチをするなら、MultiTouchのライブラリーもインポートする。

以下のActionScriptはhogeMCというムービークリップをタッチすると、タッチした座標にMCが動き、指を動かすとMCのフレーム2に切り替わり、タッチを終えると、元に戻るという動きをするスクリプト。

マウスダウン、マウスムーブ、マウスアップが、それぞれTOUCH_BEGIN, TOUCH_MOVE, TOUCH_ENDに相当すると考えられる。

また、マルチタッチをするなら、TOUCH_POINTを使う。
タッチする指の順番が、e.touchPointIDに入っているので、この数値を使って処理を場合分けすればよい。

import flash.events.TouchEvent;
import flash.ui.Multitouch;
import flash.ui.MultitouchInputMode;

hogeMC.cacheAsBitmap = true;

Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;

this.stage.addEventListener (TouchEvent.TOUCH_BEGIN, onTouchBegin);
var touchID:int = 0;
function onTouchBegin (e:TouchEvent):void {
	
	hogeMC.x = e.stageX;
	hogeMC.y = e.stageY;

	touchID = e.touchPointID;
}

this.stage.addEventListener (TouchEvent.TOUCH_MOVE, onTouchMove);
function onTouchMove (e:TouchEvent):void {
	
	zombie.x = e.stageX;
	zombie.y = e.stageY;

	hogeMC.gotoAndStop( 2 );
	
	if (touchID == e.touchPointID) {
           // 1st finger touch
		
	} else if (touchID == (e.touchPointID - 1)) {
           // 2nd finger touch
		
	} else if (touchID == (e.touchPointID - 2)) {
           // 3rd finger touch

	}
}

this.stage.addEventListener (TouchEvent.TOUCH_END, onTouchFinish);
function onTouchFinish (e:TouchEvent):void {
	
	hogeMC.x = e.stageX;
	hogeMC.y = e.stageY;
	
	hogeMC.gotoAndStop( 1 );
}

トラックバック

トラックバックpingアドレス http://www.kuhalabo.net/kxoops/modules/d3blog/tb.php/123
スポンサードリンク
検索

blogカテゴリ一覧

blogger一覧

blogアーカイブ