ボタンで制御
ボタンからムービークリップを動かす
(1)ボタンに動きのみを記述する
※間違った記述
on (release) { this._rotation += 10; }
この記述では、ステージ全体が回転します。
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; }