Forked from: 9re's マウスイベントを使ったボタン diff:35 forked from: マウスイベントを使ったボタン nmtm forked:0favorite:0lines:65license : MIT License modified : 2010-01-08 21:40:52 Embed Tweet // forked from 9re's マウスイベントを使ったボタン package { import flash.display.Sprite; import flash.events.MouseEvent; public class MouseClick extends Sprite { private var _button:MyButton; public function MouseClick() { // ボタンのインスタンスを生成 _button = new MyButton(); _button.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); _button.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); _button.addEventListener(MouseEvent.CLICK, onMouseClick); // 表示リストに追加 addChild(_button); // ボタンの位置を設定 _button.x = 182; _button.y = 50; } private function onMouseOver(e:MouseEvent):void { _button.over(); } private function onMouseOut(e:MouseEvent):void { _button.out(); } private function onMouseClick(e:MouseEvent):void { _button.pressed(); } } } import flash.display.Sprite; class MyButton extends Sprite { private var _over:Sprite; private var _pressed:Sprite; private var flag:int=0; public function MyButton () { // 描画色を#666666に設定 graphics.beginFill(0x333333); // 角丸の長方形を描画 graphics.drawRoundRect(0, 0, 100, 22, 15); graphics.endFill(); // マウス・オーバー時に表示させるSpriteのインスタンスを生成 _over = new Sprite(); // 描画色を赤#ff0000に設定 _over.graphics.beginFill(0xff0000); // 角丸の長方形を描画 _over.graphics.drawRoundRect(0, 0, 100, 22, 15); _over.graphics.endFill(); // 非表示に設定 _over.visible = false; // 表示リストに追加 addChild(_over); // マウス・press時に表示させるSpriteのインスタンスを生成 _pressed = new Sprite(); // 描画色を赤#ff0000に設定 _pressed.graphics.beginFill(0xdddddd); // 角丸の長方形を描画 _pressed.graphics.drawRoundRect(0, 0, 100, 22, 15); _pressed.graphics.endFill(); // 非表示に設定 _pressed.visible = false; // 表示リストに追加 addChild(_pressed); // マウス・カーソルを手のカーソルに変える buttonMode = true; } public function over():void { // マウス・オーバー時の画像を表示 //_over.visible = true; } public function out():void { // マウス・オーバー時の画像を非表示 //_over.visible = false; } public function pressed():void { // マウス・オーバー時の画像を非表示 if(flag == 0){ _pressed.visible = true; flag = 1; }else{ _pressed.visible = false; flag = 0; } } } Code Fullscreen Preview Fullscreen visible addEventListener MouseEvent MouseEvent.MOUSE_OUT MouseEvent.MOUSE_OVER buttonMode addChild MouseEvent.CLICK int Sprite