ボタンで制御

ボタンからムービークリップを動かす


(1)ボタンに動きのみを記述する
 ※間違った記述

on (release) {
	this._rotation += 10;
}


この記述では、ステージ全体が回転します。


(2)ムービークリップインスタンス名を記述する

on (release) {
	bear_mc._rotation += 10;
}

匿名関数の場合

var angle:Number = 10;

rotation_btn.onRelease = function() {
	bear_mc._rotation += angle;
}

ユーザー定義関数の場合

var angle:Number = 10;

rotation_btn.onRelease = bearAngle;
	function bearAngle():Void {
	bear_mc._rotation += angle;
}

ボタンを押し続けると動く、離すと止まる



(1)ボタンに押したときのみの記述する
 ※間違った記述

on (press) {
	var angle:Number = 10;
	bear_mc._rotation += angle;

}

(2)読み込まれるたびに(onEnterFrame)

on (press) {
	bear_mc.onEnterFrame = function() {
	bear_mc._rotation += 10;
	}
}


動きますが、マウスを離しても止まりません。



(3)マウスを離したときの設定を追加します

on (press) {
	var angle:Number = 10;
	
	bear_mc.onEnterFrame = function() {
	bear_mc._rotation += angle;
	}
}

on (release) {
	bear_mc.onEnterFrame = undefined;
}
undefined:未定義
  • 値が設定されていないことを表す特殊なデータ型です。

匿名関数の場合

var angle:Number = 10;

rotation_btn.onPress = function() {
	bear_mc.onEnterFrame = function() {
		bear_mc._rotation += angle;
	}
}

rotation_btn.onRelease = function() {
	bear_mc.onEnterFrame = undefined;
}

ユーザー定義関数の場合

var angle:Number = 10;

rotation_btn.onPress = bearAngle;
	function bearAngle():Void {
		bear_mc.onEnterFrame = function() {
			bear_mc._rotation += angle;
		}
}
rotation_btn.onRelease = bearStop;
	function bearStop():Void {
	bear_mc.onEnterFrame = undefined;
}
ボタンが押されるたびに


オブジェクトアクション

  • 各ボタンに記述します。
on (release) {
	var rate:Number = 10; 
	lemon_mc._y -= rate;
}


イベントハンドラメソッド(匿名関数)

  • タイムラインに記述します。
var rate:Number = 10; 

top_btn.onRelease = function() {
	lemon_mc._y -= rate;
}
right_btn.onRelease = function() {
	lemon_mc._x += rate;
}
bottom_btn.onRelease = function() {
	lemon_mc._y += rate;
}
left_btn.onRelease = function() {
	lemon_mc._x -= rate;
}


カスタム関数(ユーザー定義関数)

  • タイムラインに記述します。
var rate:Number = 10; 

top_btn.onRelease = upMove;
	function upMove():Void {
	lemon_mc._y -= rate;
}
right_btn.onRelease = rightMove;
	function rightMove():Void {
	lemon_mc._x += rate;
}
bottom_btn.onRelease = bottomMove;
	function bottomMove():Void {
	lemon_mc._y += rate;
}
left_btn.onRelease = leftMove;
	function leftMove():Void {
	lemon_mc._x -= rate;
}
ボタンを押し続けると


オブジェクトアクション

  • 各ボタンに記述します。
on (press) {
	peach_mc.onEnterFrame = function() {
		var rate = 10;
		peach_mc._y -= rate;
			if(peach_mc._y <= -10) {
				peach_mc._y =310;
			}
	}
}
on (release) {
	peach_mc.onEnterFrame = undefined;
}


イベントハンドラメソッド(匿名関数)

  • タイムラインに記述します。
var rate:Number = 10;

top_btn.onPress = function() {
	peach_mc.onEnterFrame = function() {
		peach_mc._y -= rate;
			if(peach_mc._y <= -10) {
				peach_mc._y =310;
			}
	}
}
top_btn.onRelease = function() {
	peach_mc.onEnterFrame = undefined;
}

left_btn.onPress = function() {
	peach_mc.onEnterFrame = function() {
		peach_mc._x -= rate;
			if(peach_mc._x <= -10) {
				peach_mc._x = 510;
			}
	}
}
left_btn.onRelease = function() {
	peach_mc.onEnterFrame = undefined;
}

bottom_btn.onPress = function() {
	peach_mc.onEnterFrame = function() {
		peach_mc._y += rate;
			if(peach_mc._y >= 310) {
				peach_mc._y = -10;
			}
	}
}
bottom_btn.onRelease = function() {
	peach_mc.onEnterFrame = undefined;
}

right_btn.onPress = function() {
	peach_mc.onEnterFrame = function() {
		peach_mc._x += rate;
			if(peach_mc._x >= 510) {
				peach_mc._x = -10;
			}
	}
}
right_btn.onRelease = function() {
	peach_mc.onEnterFrame = undefined;
}