入力(マウス、キーボード)

「Main.as」

/** 
* @mxmlc -default-size 640 480 -incremental=true 
*/ 

package {
	import	flash.display.*;
	import	flash.geom.*;
	import	flash.events.*;
	import	flash.utils.*;
	import	flash.ui.*;

	public	class Main extends Sprite {
		private	var g:Glib01	= new Glib01( 640, 480);
		private var myPos:Point	= new Point( 100, 100 );
		private var mousePos:Point	= new Point( 200, 100 );
		private	var base:Sprite;
		//-------------------------------------
		//
		public	function	Main()
		{
			base	= new Sprite();
			base.focusRect = false;
			addChild(base);	
			base.addChild( new Bitmap( g.GetBitmapData() ));
			base.addEventListener( KeyboardEvent.KEY_DOWN, keyDown);
			base.addEventListener( MouseEvent.CLICK, mouseClic);
			mainDraw();
		}

		//-------------------------------------
		//
		private	function	keyDown(  evt:KeyboardEvent ):void
		{
			switch( evt.keyCode ){
			case	Keyboard.UP:
				myPos.y	-= 1;
				break;
			case	Keyboard.DOWN:
				myPos.y	+= 1;
				break;
			case	Keyboard.LEFT:
				myPos.x	-= 1;
				break;
			case	Keyboard.RIGHT:
				myPos.x	+= 1;
				break;
			}
			mainDraw();
		}

		//-------------------------------------
		//
		private	function	mouseClic( evt:MouseEvent ):void
		{
			mousePos.x	= evt.stageX;
			mousePos.y	= evt.stageY;
			stage.focus	= base;
			mainDraw();
		}

		//-------------------------------------
		//
		private function mainDraw():void
		{
			g.Cls(0x8080ff);
			g.Print( myPos.x, myPos.y, "myPoint");
			g.Print( mousePos.x, mousePos.y, "mousePoint");
		}
	}
}

■キーやマウスの入力はSpriteクラスに登録するとイベントが発生します。

base.addEventListener( KeyboardEvent.KEY_DOWN, keyDown);
base.addEventListener( MouseEvent.CLICK, mouseClic);

Glib01クラスは、そのSpriteクラスにaddChildして使用するように変更します。
(Glib01クラスにaddEventListenerを追加してもイベントは発生しません)

base	= new Sprite();
base.focusRect = false;
addChild(base);	
base.addChild( new Bitmap( g.GetBitmapData() ));
<||

■キーイベントはフォーカスの当たっていないウインドでは発生しないので、マウスでクリックした時にフォーカスを、Supriteクラスに移します。
>||
private	function	mouseClic( evt:MouseEvent ):void
{
	 :
	stage.focus	= base;
}

キーイベントは2種類あるので、ゲームにはいろいろと工夫して使用していきましょう
KeyboardEvent.KEY_DOWN
KeyboardEvent.KEY_UP
■マウスイベント
マウスのイベントはいろいろとあるので、場合によって使い分けですね
MouseEvent.CLICK
MouseEvent.DOUBLE_CLICK
MouseEvent.MOUSE_DOWN
MouseEvent.MOUSE_UP
MouseEvent.MOUSE_MOVE
MouseEvent.MOUSE_OUT
MouseEvent.MOUSE_OVER
MouseEvent.MOUSE_WHEEL
MouseEvent.ROLL_OUT
MouseEvent.ROLL_OVER