トップページ > Flash入門 > マウス・キーボード関係(1)

マウスの座標を取得する

stageのプロパティとして取得します

画面上のマウス座標を取得するには,画面(stage)のmouseXとmouseYプロパティを読むだけです。 this.stage.mouseX としてアクセスします。 ここでは,テキスト関係のところで使ったTextFieldにマウス座標を表示させるようにしてみます。

package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.*;
	
    //画面サイズと背景色,フレームレートを設定
    [SWF(width="300", height="300", frameRate = "60", backgroundColor="0xffffcc")]  	
	
	 public class Main extends Sprite 
	{	
		//================================================================
		//マウス座標表示用TextField
		private var tf:TextField = new TextField();		
		//マウスのx,y座標を記録する変数
		private var x_temp:int = 0;
		private var y_temp:int = 0;
		//================================================================
		
		//main関数
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
	
		//コンストラクタ
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			//ENTER_FRAMEをイベント登録
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
			
			//TextFieldの寸法は自動調整
			tf.autoSize = TextFieldAutoSize.LEFT;
			
			//TextFieldを表示
			addChild(tf);
		}

		//フレームごとによばれる関数
		private function onEnterFrame(e:Event):void
		{
			//============================================================
			//座標を取得
			x_temp = this.stage.mouseX;
			y_temp = this.stage.mouseY;
			//座標を表示する(intを文字列にキャストする必要はなし)
			tf.text = "x座標: " + x_temp + ", y座標: " + y_temp;
			//============================================================
		}
	}
}



戻る  次へ