リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ キーボードでインスタンスを移動

ActionScript

キーボードでインスタンスを移動

ステージ上い配置したインスタンスをキーボードで移動させるサンプル。
(サンプルファイル内をクリック(アクティブ)してから有効)

【サンプル】

JavaScriptを有効にし、最新のFlashPlayerをインストールお願いしますGet Adobe Flash player


【ActionScript3.0 サンプルソースコード】

//キーを押している間に実行する処理
function movespace(event:Object):void {fly.rotation+=10;}
function moveleft(event:Object):void {fly.x-=20;}
function moveright(event:Object):void {fly.x+=20;}
function moveup(event:Object):void {fly.y-=20;}
function movedown(event:Object):void {fly.y+=20;}

//キーを押した時に実行する処理
function keyon(event:KeyboardEvent):void {
	if (event.keyCode==Keyboard.SPACE) {
		fly.addEventListener(Event.ENTER_FRAME,movespace);
	}else if (event.keyCode==Keyboard.LEFT) {
		fly.addEventListener(Event.ENTER_FRAME,moveleft);
	}else if (event.keyCode==Keyboard.RIGHT) {
		fly.addEventListener(Event.ENTER_FRAME,moveright);
	}else if (event.keyCode==Keyboard.UP) {
		fly.addEventListener(Event.ENTER_FRAME,moveup);
	}else if (event.keyCode==Keyboard.DOWN) {
		fly.addEventListener(Event.ENTER_FRAME,movedown);
}}

//キーを離した時に実行する処理
function keyoff(event:KeyboardEvent):void {
	if (event.keyCode==Keyboard.SPACE) {
		fly.removeEventListener(Event.ENTER_FRAME,movespace);
	}else if (event.keyCode==Keyboard.LEFT) {
		fly.removeEventListener(Event.ENTER_FRAME,moveleft);	
	}else if (event.keyCode==Keyboard.RIGHT) {
		fly.removeEventListener(Event.ENTER_FRAME,moveright);	
	}else if (event.keyCode==Keyboard.UP) {
		fly.removeEventListener(Event.ENTER_FRAME,moveup);
	}else if (event.keyCode==Keyboard.DOWN) {
		fly.removeEventListener(Event.ENTER_FRAME,movedown);
}}

//関数を関連付ける
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyon);
stage.addEventListener(KeyboardEvent.KEY_UP,keyoff);

//参考 (event.keyCode==Keyboard.SPACE)と(event.keyCode==32)は同じ
last update 2008.6.25
参考・出典等
Riptac 入力されたキーを確認する方法

▲page top

topmemoblogtestaboutmail
Copylight(C)2008 Riptac. All Rights Reserved.