マウスの操作について
マウスカーソルの座標を調べる
サンプルをダウンロード
■ステージ座標系を基点としたマウスカーソルの座標を取得する
ステージ座標系を基点としたマウスカーソルの座標を取得するには、以下のプロパティを使用します。
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. |
マウスカーソルが移動した | MouseEvent. |
表示オブジェクトの外から内側へ侵入した(子孫は別々に判定) | MouseEvent. |
表示オブジェクトの内側から外へ撤退した(子孫は別々に判定) | MouseEvent. |
表示オブジェクトの外から内側へ侵入した(子孫を含め1つのグループとして判定) | MouseEvent. |
表示オブジェクトの内側から外へ撤退した(子孫を含め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();