forked from: マウスイベントを使ったボタン(PRACTICE 1-3-4)
forked from マウスイベントを使ったボタン (diff: 48)
ActionScript3 source code
/**
* Copyright _shimizu ( http://wonderfl.net/user/_shimizu )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/vwV1
*/
// forked from 9re's マウスイベントを使ったボタン
package {
import flash.display.MovieClip;
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.click();
}
}
}
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.filters.GlowFilter;
class MyButton extends Sprite {
//private var _over:Sprite;
private var _over:Object = {red:null,blue:null};
public function MyButton () {
// 描画色を#666666に設定
graphics.beginFill(0x333333);
// 角丸の長方形を描画
graphics.drawRoundRect(0, 0, 100, 22, 15);
graphics.endFill();
// マウス・オーバー時に表示させるSpriteのインスタンスを生成
_over['red'] = new Sprite();
_over['bule'] = new MovieClip();
// 描画色を赤#ff0000に設定
_over['red'].graphics.beginFill(0xff0000);
_over['bule'].graphics.beginFill(0x0000ff);
// 角丸の長方形を描画
_over['red'].graphics.drawRoundRect(0, 0, 100, 22, 15);
_over['red'].graphics.endFill();
_over['bule'].graphics.drawRoundRect(0,0,100,22,15);
_over['bule'].graphics.endFill();
_over['red'].filters = [new GlowFilter(0xff0000,0.5,30,30,1,1)];
_over['bule'].filters = [new GlowFilter(0x0000ff,0.5,30,30,1,1)];
_over['bule'].alpha = 0.5;
// 非表示に設定
_over['red'].visible = false;
_over['bule'].visible = false;
// 表示リストに追加
addChild(_over['red']);
addChild(_over['bule']);
// マウス・カーソルを手のカーソルに変える
buttonMode = true;
}
public function over():void {
// マウス・オーバー時の画像を表示
_over['red'].visible = true;
}
public function out():void {
// マウス・オーバー時の画像を非表示
_over['red'].visible = false;
}
public function click():void{
if(_over['bule'].visible){
_over['bule'].visible = false;
}else{
//_over['red'].visible = false;
_over['bule'].visible = true;
}
}
}
