package {
import flash.display.*;
import flash.text.*;
import flash.events.*;
import flash.ui.*;
import flash.utils.*;
//マウスイベントの処理
[SWF(width=240, height=240, backgroundColor=0xFFFFFF)]
public class MouseEx extends Sprite {
private var label :TextField; //ラベル
private var mouseDown :String = "アップ";//マウスダウン
private var mouseDelta:int = 0; //マウスホイール
//コンストラクタ
public function MouseEx() {
//ベースの生成
var base:Sprite = new Sprite();
base.graphics.beginFill(0xffffff);
base.graphics.drawRect(0, 0, 240, 240);
base.graphics.endFill();
addChild(base);
//ラベルの追加
label = makeLabel("マウスイベント");
base.addChild(label);
//イベントリスナーの追加
base.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
base.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
base.addEventListener(MouseEvent.MOUSE_WHEEL, onMouseWheel);
//タイマーの追加
var timer:Timer = new Timer(100, 0);
timer.addEventListener(TimerEvent.TIMER, onTick);
timer.start();
}
//ラベルの生成
private function makeLabel(text:String):TextField {
var label:TextField = new TextField();
label.text = text;
label.autoSize = TextFieldAutoSize.LEFT;
label.selectable = false;
return label;
}
//タイマーイベントの処理
private function onTick(evt:TimerEvent):void {
var text:String = "";
text += "マウスダウン:" + mouseDown + "\n";
text += "マウス座標:" + Math.floor(mouseX) + "," + Math.floor(mouseY) + "\n";
text += "マウスホイール:" + mouseDelta;
label.text = text;
}
//マウスダウンイベントの処理
private function onMouseDown(evt:MouseEvent):void {
mouseDown = "ダウン";
}
//マウスアップイベントの処理
private function onMouseUp(evt:MouseEvent):void {
mouseDown = "アップ";
}
//マウスホイールイベントの処理
private function onMouseWheel(evt:MouseEvent):void {
mouseDelta = evt.delta;
}
}
} |