Flashゲームプログラミング講座 for ActionScript3.0

 

マウスカーソルの座標を調べる

 

サンプルをダウンロード
 
 


■ステージ座標系を基点としたマウスカーソルの座標を取得する


ステージ座標系を基点としたマウスカーソルの座標を取得するには、以下のプロパティを使用します。
 
x 座標の値を取得 stage.mouseX
 
y 座標の値を取得 stage.mouseY
 
マウス座標を取得する

import flash.events.Event;

// 毎フレーム実行されるイベント
stage.addEventListener(Event.ENTER_FRAME , function (e:Event):void {

	// ステージ上のマウスカーソルの位置を取得
	var mouse_x : Number = stage.mouseX;
	var mouse_y : Number = stage.mouseY;

	trace(mouse_x,mouse_y);
});
 

■ローカル座標系を基点としたマウスカーソルの座標を取得する


表示オブジェクトの、ローカル座標系を基点としたマウスカーソルの座標を取得するには、以下のプロパティを使用します。
 
x 座標の値を取得 mouseX
 
y 座標の値を取得 mouseY
 
"sprite" のローカル座標系のマウス座標を取得する

import flash.display.Sprite;
import flash.events.Event;

// 適当なスプライトを作成して配置
var sprite:Sprite = new Sprite();
sprite.x = 50;
sprite.y = 50;
sprite.scaleX = 0.5;
addChild(sprite);

// 毎フレーム実行されるイベント
sprite.addEventListener(Event.ENTER_FRAME,function (e:Event):void{

	// スプライト上のマウスカーソルの位置を取得
	var mouse_x : Number = sprite.mouseX;
	var mouse_y : Number = sprite.mouseY;

	trace(mouse_x,mouse_y);
});
 



 

マウスカーソルが移動したか調べる

 
 


■マウスの移動関連のイベントについて


マウスの移動関連のイベントは、以下の種類があります。
 
イベント定数 解説
MouseEvent.MOUSE_MOVE マウスカーソルが移動した
MouseEvent.MOUSE_OVER 表示オブジェクトの外から内側へ侵入した(子孫は別々に判定)
MouseEvent.MOUSE_OUT 表示オブジェクトの内側から外へ撤退した(子孫は別々に判定)
MouseEvent.ROLL_OVER 表示オブジェクトの外から内側へ侵入した(子孫を含め1つのグループとして判定)
MouseEvent.ROLL_OUT 表示オブジェクトの内側から外へ撤退した(子孫を含め1つのグループとして判定)
 

■表示オブジェクト上で、マウスカーソルが移動したか調べる


マウスカーソルが移動したか調べるには、MouseEvent.MOUSE_MOVE イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
マウスカーソルが移動したか調べる

import flash.events.MouseEvent;

// マウスカーソルが移動するたびに実行される関数
function MouseMoveFunc(e:MouseEvent):void{

	trace("マウスカーソルが移動した");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.MOUSE_MOVE, MouseMoveFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスカーソルが移動するたびに実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MOUSE_MOVE, function (e:MouseEvent):void{

	trace("マウスカーソルが移動した");

});
 

■表示オブジェクト上で、マウスオーバーしたか調べる


マウスオーバーしたか調べるには、MouseEvent.MOUSE_OVER イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
マウスオーバーしたか調べる

import flash.display.DisplayObject;
import flash.events.MouseEvent;

// マウスオーバー時に実行される関数
function MouseOverFunc(e:MouseEvent):void{

	// マウスオーバーの対象となった表示オブジェクト
	var target:DisplayObject = e.target as DisplayObject;

	trace("マウスオーバー");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.MOUSE_OVER, MouseOverFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
表示オブジェクトの外から内側へマウスカーソルが侵入したとき、イベントが動作します。
 
子孫の表示オブジェクトは、それぞれ個別に判定が試みられます
 
スプライトにコールバック関数を登録する

import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// 子となるスプライトを作成
var sprite_child:Sprite = new Sprite();

// ステージにスプライトを配置
stage.addChild(sprite);
// スプライトに子スプライトを配置
sprite.addChild(sprite_child);

// スプライトに矩形をレンダリング
var g:Graphics;
g = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);

// 子スプライトに矩形をレンダリング
g = sprite_child.graphics;
g.lineStyle (5, 0x0000AA, 1.0);
g.beginFill (0x4444FF, 1.0);
g.drawRect (150,200,200,200);


// ------------------------------------------------------------
// マウスオーバー時に実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MOUSE_OVER, function (e:MouseEvent):void{

	// マウスオーバーの対象となった表示オブジェクト
	var target:DisplayObject = e.target as DisplayObject;

	trace("マウスオーバー");

});
 

■表示オブジェクト上で、マウスアウトしたか調べる


マウスアウトしたか調べるには、MouseEvent.MOUSE_OUT イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
マウスアウトしたか調べる

import flash.display.DisplayObject;
import flash.events.MouseEvent;

// マウスアウト時に実行される関数
function MouseOutFunc(e:MouseEvent):void{

	// マウスオーバーの対象となった表示オブジェクト
	var target:DisplayObject = e.target as DisplayObject;

	trace("マウスアウト");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.MOUSE_OUT, MouseOutFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
表示オブジェクトの内側から外へマウスカーソルが撤退したとき、イベントが動作します。
 
子孫の表示オブジェクトは、それぞれ個別に判定が試みられます
 
スプライトにコールバック関数を登録する

import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// 子となるスプライトを作成
var sprite_child:Sprite = new Sprite();

// ステージにスプライトを配置
stage.addChild(sprite);
// スプライトに子スプライトを配置
sprite.addChild(sprite_child);

// スプライトに矩形をレンダリング
var g:Graphics;
g = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);

// 子スプライトに矩形をレンダリング
g = sprite_child.graphics;
g.lineStyle (5, 0x0000AA, 1.0);
g.beginFill (0x4444FF, 1.0);
g.drawRect (150,200,200,200);


// ------------------------------------------------------------
// マウスアウト時に実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MOUSE_OUT, function (e:MouseEvent):void{

	// マウスオーバーの対象となった表示オブジェクト
	var target:DisplayObject = e.target as DisplayObject;

	trace("マウスアウト");

});
 

■表示オブジェクト上で、ロールオーバーしたか調べる


ロールオーバーしたか調べるには、MouseEvent.ROLL_OVER イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
ロールオーバーしたか調べる

import flash.events.MouseEvent;

// ロールオーバー時に実行される関数
function MouseRollOverFunc(e:MouseEvent):void{

	trace("ロールオーバー");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.ROLL_OVER, MouseRollOverFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
表示オブジェクトの外から内側へマウスカーソルが侵入したとき、イベントが動作します。
 
子孫の表示オブジェクトを含めて、1つのグループとして判定が試みられます
 
スプライトにコールバック関数を登録する

import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// 子となるスプライトを作成
var sprite_child:Sprite = new Sprite();

// ステージにスプライトを配置
stage.addChild(sprite);
// スプライトに子スプライトを配置
sprite.addChild(sprite_child);

// スプライトに矩形をレンダリング
var g:Graphics;
g = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);

// 子スプライトに矩形をレンダリング
g = sprite_child.graphics;
g.lineStyle (5, 0x0000AA, 1.0);
g.beginFill (0x4444FF, 1.0);
g.drawRect (150,200,200,200);


// ------------------------------------------------------------
// ロールオーバー時に実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.ROLL_OVER, function (e:MouseEvent):void{

	trace("ロールオーバー");

});
 

■表示オブジェクト上で、ロールアウトしたか調べる


ロールアウトしたか調べるには、MouseEvent.ROLL_OUT イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
ロールアウトしたか調べる

import flash.events.MouseEvent;

// ロールアウト時に実行される関数
function MouseRollOutFunc(e:MouseEvent):void{

	trace("ロールアウト");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.ROLL_OUT, MouseRollOutFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
表示オブジェクトの内側から外へマウスカーソルが撤退したとき、イベントが動作します。
 
子孫の表示オブジェクトを含めて、1つのグループとして判定が試みられます
 
スプライトにコールバック関数を登録する

import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// 子となるスプライトを作成
var sprite_child:Sprite = new Sprite();

// ステージにスプライトを配置
stage.addChild(sprite);
// スプライトに子スプライトを配置
sprite.addChild(sprite_child);

// スプライトに矩形をレンダリング
var g:Graphics;
g = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);

// 子スプライトに矩形をレンダリング
g = sprite_child.graphics;
g.lineStyle (5, 0x0000AA, 1.0);
g.beginFill (0x4444FF, 1.0);
g.drawRect (150,200,200,200);


// ------------------------------------------------------------
// ロールアウト時に実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.ROLL_OUT, function (e:MouseEvent):void{

	trace("ロールアウト");

});
 


 

マウスのボタンが押されたか調べる

 

サンプルをダウンロード
 
 


■マウスのボタン関連のイベントについて


■マウスの左ボタン関連のイベント
 
マウスの左ボタン関連のイベントは、以下の種類があります。
 
イベント定数 解説
MouseEvent.MOUSE_DOWN マウスの左ボタンを押した
MouseEvent.MOUSE_UP マウスの左ボタンを離した
MouseEvent.CLICK マウスの左ボタンをクリックした
MouseEvent.DOUBLE_CLICK マウスの左ボタンをダブルクリックした
 
■マウスの右ボタン関連のイベント
 
マウスの右ボタン関連のイベントは、以下の種類があります。
 
Flash Player 11.2 以降、Adobe AIR 1.0 以降で利用可能です。
 
Flash Player 版でこれらのイベントを使用すると、コンテキストメニューが表示されなくなります
 
イベント定数 解説
MouseEvent.RIGHT_MOUSE_DOWN マウスの右ボタンを押した
MouseEvent.RIGHT_MOUSE_UP マウスの右ボタンを離した
MouseEvent.RIGHT_CLICK マウスの右ボタンをクリックした
 
■マウスの中央ボタン関連のイベント
 
マウスの中央ボタン関連のイベントは、以下の種類があります。
 
Flash Player 11.2 以降、Adobe AIR 1.0 以降で利用可能です。
 
イベント定数 解説
MouseEvent.MIDDLE_MOUSE_DOWN マウスの中央ボタンを押した
MouseEvent.MIDDLE_MOUSE_UP マウスの中央ボタンを離した
MouseEvent.MIDDLE_CLICK マウスの中央ボタンをクリックした
 

■表示オブジェクト上で、マウスの左ボタンを押したか調べる


マウスの左ボタンを押したか調べるには、MouseEvent.MOUSE_DOWN イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
マウスの左ボタンを押したか調べる

import flash.events.MouseEvent;

// マウスの左ボタンを押すと実行される関数
function MouseDownLeftFunc(e:MouseEvent):void{

	trace("マウスの左ボタンを押した");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDownLeftFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの左ボタンを押すと実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent):void{

	trace("マウスの左ボタンを押した");

});
 

■表示オブジェクト上で、マウスの左ボタンを離したか調べる


マウスの左ボタンを離したか調べるには、MouseEvent.MOUSE_UP イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
マウスの左ボタンを離したか調べる

import flash.events.MouseEvent;

// マウスの左ボタンを離すと実行される関数
function MouseUpLeftFunc(e:MouseEvent):void{

	trace("マウスの左ボタンを離した");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.MOUSE_UP, MouseUpLeftFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの左ボタンを離すと実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent):void{

	trace("マウスの左ボタンを離した");

});
 

■表示オブジェクト上で、マウスの左ボタンをクリックしたか調べる


マウスの左ボタンをクリックしたか調べるには、MouseEvent.CLICK イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
マウスの左ボタンをクリックしたか調べる

import flash.events.MouseEvent;

// マウスの左ボタンをクリックすると実行される関数
function MouseClickLeftFunc(e:MouseEvent):void{

	trace("マウスの左ボタンをクリックした");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.CLICK, MouseClickLeftFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの左ボタンをクリックすると実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.CLICK, function (e:MouseEvent):void{

	trace("マウスの左ボタンをクリックした");

});
 

■表示オブジェクト上で、マウスの左ボタンをダブルクリックしたか調べる


マウスの左ボタンをダブルクリックしたか調べるには、MouseEvent.DOUBLE_CLICK イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
表示オブジェクトにて、ダブルクリップイベントの通知を受け取りたい場合、doubleClickEnabled プロパティを true に設定する必要があります。
 
マウスの左ボタンをダブルクリックしたか調べる

import flash.events.MouseEvent;

// マウスの左ボタンをダブルクリックすると実行される関数
function MouseDoubleClickLeftFunc(e:MouseEvent):void{

	trace("マウスの左ボタンをダブルクリックした");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.DOUBLE_CLICK, MouseDoubleClickLeftFunc);

// ダブルクリックを有効
stage.doubleClickEnabled = true;
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの左ボタンをダブルクリックすると実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.DOUBLE_CLICK, function (e:MouseEvent):void{

	trace("マウスの左ボタンをダブルクリックした");

});

// ダブルクリックを有効
sprite.doubleClickEnabled = true;
 

■表示オブジェクト上で、マウスの右ボタンを押したか調べる


マウスの右ボタンを押したか調べるには、MouseEvent.RIGHT_MOUSE_DOWN イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
Flash Player 11.2 以降、Adobe AIR 1.0 以降で利用可能です。
 
このイベントを使用すると、Flash Player 版でコンテキストメニューが表示されなくなります
 
マウスの右ボタンを押したか調べる

import flash.events.MouseEvent;

// マウスの右ボタンを押すと実行される関数
function MouseDownRightFunc(e:MouseEvent):void{

	trace("マウスの右ボタンを押した");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, MouseDownRightFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの右ボタンを押すと実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, function (e:MouseEvent):void{

	trace("マウスの右ボタンを押した");

});
 

■表示オブジェクト上で、マウスの右ボタンを離したか調べる


マウスの右ボタンを離したか調べるには、MouseEvent.RIGHT_MOUSE_UP イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
Flash Player 11.2 以降、Adobe AIR 1.0 以降で利用可能です。
 
このイベントを使用すると、Flash Player 版でコンテキストメニューが表示されなくなります
 
マウスの右ボタンを離したか調べる

import flash.events.MouseEvent;

// マウスの右ボタンを離すと実行される関数
function MouseUpRightFunc(e:MouseEvent):void{

	trace("マウスの右ボタンを離した");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.RIGHT_MOUSE_UP, MouseUpRightFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの右ボタンを離すと実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.RIGHT_MOUSE_UP, function (e:MouseEvent):void{

	trace("マウスの右ボタンを離した");

});
 

■表示オブジェクト上で、マウスの右ボタンをクリックしたか調べる


マウスの右ボタンをクリックしたか調べるには、MouseEvent.RIGHT_CLICK イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
Flash Player 11.2 以降、Adobe AIR 1.0 以降で利用可能です。
 
このイベントを使用すると、Flash Player 版でコンテキストメニューが表示されなくなります
 
マウスの右ボタンをクリックしたか調べる

import flash.events.MouseEvent;

// マウスの右ボタンをクリックすると実行される関数
function MouseClickRightFunc(e:MouseEvent):void{

	trace("マウスの右ボタンをクリックした");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.RIGHT_CLICK, MouseClickRightFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの右ボタンをクリックすると実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.RIGHT_CLICK, function (e:MouseEvent):void{

	trace("マウスの右ボタンをクリックした");

});
 

■表示オブジェクト上で、マウスの中央ボタンを押したか調べる


マウスの中央ボタンを押したか調べるには、MouseEvent.MIDDLE_MOUSE_DOWN イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
Flash Player 11.2 以降、Adobe AIR 1.0 以降で利用可能です。
 
マウスの中央ボタンを押したか調べる

import flash.events.MouseEvent;

// マウスの中央ボタンを押すと実行される関数
function MouseDownMiddleFunc(e:MouseEvent):void{

	trace("マウスの中央ボタンを押した");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.MIDDLE_MOUSE_DOWN, MouseDownMiddleFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの中央ボタンを押すと実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MIDDLE_MOUSE_DOWN, function (e:MouseEvent):void{

	trace("マウスの中央ボタンを押した");

});
 

■表示オブジェクト上で、マウスの中央ボタンを離したか調べる


マウスの中央ボタンを離したか調べるには、MouseEvent.MIDDLE_MOUSE_UP イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
Flash Player 11.2 以降、Adobe AIR 1.0 以降で利用可能です。
 
マウスの中央ボタンを離したか調べる

import flash.events.MouseEvent;

// マウスの中央ボタンを離すと実行される関数
function MouseUpMiddleFunc(e:MouseEvent):void{

	trace("マウスの中央ボタンを離した");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.MIDDLE_MOUSE_UP, MouseUpMiddleFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの中央ボタンを離すと実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MIDDLE_MOUSE_UP, function (e:MouseEvent):void{

	trace("マウスの中央ボタンを離した");

});
 

■表示オブジェクト上で、マウスの中央ボタンをクリックしたか調べる


マウスの中央ボタンをクリックしたか調べるには、MouseEvent.MIDDLE_CLICK イベントを使用します。
 
イベントに登録した関数の引数から、MouseEvent オブジェクトが得られます。
 
Flash Player 11.2 以降、Adobe AIR 1.0 以降で利用可能です。
 
マウスの中央ボタンをクリックしたか調べる

import flash.events.MouseEvent;

// マウスの中央ボタンをクリックすると実行される関数
function MouseClickMiddleFunc(e:MouseEvent):void{

	trace("マウスの中央ボタンをクリックした");

}

// リッスンを開始する
stage.addEventListener(MouseEvent.MIDDLE_CLICK, MouseClickMiddleFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスの中央ボタンをクリックすると実行されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MIDDLE_CLICK, function (e:MouseEvent):void{

	trace("マウスの中央ボタンをクリックした");

});
 


 

マウスのホイールが回転されたか調べる

 

サンプルをダウンロード
 

■マウスのホイールが回転されたか調べる


マウスのホイールが回転されたか調べるには、MouseEvent.MOUSE_WHEEL イベントを使用します。
 
登録した関数の引数から MouseEvent オブジェクトが得られます。
 
MouseEvent オブジェクトの delta プロパティから、ホイールの回転量を調べる事ができます。
 
下方向に回すとマイナス値、上方向に回すとプラス値が得られます。
 
マウスのホイールが回転されたか調べる

import flash.events.MouseEvent;

// マウスホイールを回したときに呼び出される関数
function MouseWheelFunc(e:MouseEvent):void{

	// ホイールの回転量
	var delta:int = e.delta;
	trace(delta);
}

// リッスンを開始する
stage.addEventListener(MouseEvent.MOUSE_WHEEL, MouseWheelFunc);
 
■任意の表示オブジェクトにコールバック関数を登録する
 
任意の表示オブジェクトに、コールバック関数を登録します。
 
マウスカーソルと表示オブジェクトが重なっているときのみ、イベントが動作します。
 
スプライトにコールバック関数を登録する

import flash.display.Sprite;
import flash.display.Graphics;
import flash.events.MouseEvent;

// ------------------------------------------------------------
// スプライトを作成して配置する
// ------------------------------------------------------------
// スプライトを作成
var sprite:Sprite = new Sprite();
// ステージにスプライトを配置
stage.addChild(sprite);

// 矩形をレンダリング
var g:Graphics = sprite.graphics;
g.lineStyle (5, 0xAA0000, 1.0);
g.beginFill (0xFF4444, 1.0);
g.drawRect (0,0,300,300);


// ------------------------------------------------------------
// マウスホイールを回したときに呼び出されるイベント
// ------------------------------------------------------------
sprite.addEventListener(MouseEvent.MOUSE_WHEEL, function (e:MouseEvent):void{

	// ホイールの回転量
	var delta:int = e.delta;

	trace("マウスホイールが回転した:" + delta);

});
 


 

マウスカーソルを作成する

 

サンプルをダウンロード
 

■マウスカーソルを作成する


1.マウスカーソルのグラフィックを作成する
 
まずムービークリップを用意してステージ上に配置します。
 
ここでは、インスタンス名を mc と名前を付けます。
 
 
2.マウス座標をムービークリップの座標に反映する
 
マウスカーソルが移動したか調べるには、MouseEvent.MOUSE_MOVE イベントを使用します。
 
このイベント内で、マウスカーソルの座標を取得して、ムービークリップの座標にセットします。
 
マウスカーソルの座標を調べて、ムービークリップ mc の座標にセットする

import flash.events.MouseEvent;

// マウスカーソルが移動したときに呼び出されるイベント
stage.addEventListener(MouseEvent.MOUSE_MOVE, function (e:MouseEvent):void{

	// マウスカーソルの座標を取得して、ムービークリップ mc の座標にセット
	mc.x = stage.mouseX;
	mc.y = stage.mouseY;

});
 
3.マウスカーソル移動中に描画を更新する

登録したコールバック関数の引数から、MouseEvent オブジェクトが得られます。
 
MouseEvent オブジェクトの updateAfterEvent() メソッドを呼び出すと、描画を更新する事ができます。
 
少ないフレームレートでも、マウスカーソルを滑らかに表示させる事ができます。
 
マウスが移動するたびに画面を更新する

import flash.events.MouseEvent;

// マウスカーソルが移動したときに呼び出されるイベント
stage.addEventListener(MouseEvent.MOUSE_MOVE, function (e:MouseEvent):void{

	// マウスカーソルの座標を取得して、ムービークリップ mc の座標にセット
	mc.x = stage.mouseX;
	mc.y = stage.mouseY;
	
	// 画面を更新する(再描画する)
	e.updateAfterEvent();
});
 
4.システムのマウスカーソルを非表示に設定する

システムのマウスカーソルを非表示に設定するには、Mouse.hide() メソッドを使用します。
 
システムのマウスカーソルを非表示に設定する

import flash.ui.Mouse;

// システムのマウスカーソルを非表示に設定
Mouse.hide();
 
システムのマウスカーソルを可視表示に戻すには、Mouse.show() メソッドを使用します。
 
システムのマウスカーソルを可視表示に設定する

import flash.ui.Mouse;

// システムのマウスカーソルを可視表示に設定
Mouse.show();