Webサイト制作科 - 作品紹介

Webサイト制作科 - 作品紹介

ボタンで制御

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


(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;
 }
ボタンを押し続けると


オブジェクトアクション

  • 各ボタンに記述します。


《top_btn》

 on (press) {
	ball_mc.onEnterFrame = function() {
		var rate = 10;
		ball_mc._y -= rate;
			if(ball_mc._y <= -ball_mc._height/2) {
				ball_mc._y = 400+ball_mc._height/2;
			}
	}
 }
 on (release) {
	ball_mc.onEnterFrame = undefined;
 }


《bottom_btn》

 on (press) {
	ball_mc.onEnterFrame = function() {
		var rate = 10;
		ball_mc._y += rate;
			if(ball_mc._y >= 400+ball_mc._height/2) {
				ball_mc._y = -ball_mc._height/2;
			}
	}
 }
 on (release) {
	ball_mc.onEnterFrame = undefined;
 }


《right_btn》

 on (press) {
	ball_mc.onEnterFrame = function() {
		var rate = 10;
		ball_mc._x += rate;
			if(ball_mc._x >= 550+ball_mc._width/2) {
				ball_mc._x = -ball_mc._width/2;
			}
	}
 }
 on (release) {
	ball_mc.onEnterFrame = undefined;
 }


《left_btn》

 on (press) {
	ball_mc.onEnterFrame = function() {
		var rate = 10;
		ball_mc._x -= rate;
			if(ball_mc._x <= -ball_mc._width/2) {
				ball_mc._x = 550+ball_mc._width/2;
			}
	}
 }
 on (release) {
	ball_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;
 }