021202: Control the GUI by the on-board button

by kotobuki
♥0 | Line 38 | Modified 2009-11-21 10:53:22 | MIT License
play

ActionScript3 source code

/**
 * Copyright kotobuki ( http://wonderfl.net/user/kotobuki )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/fowX
 */

package {
    import flash.display.Sprite;
    import funnel.*;
    import funnel.gui.*;
    import funnel.ui.*;

    public class GainerBasic_Button extends Sprite {
        // Gainerオブジェクト
        private var _gainer:Gainer;

        // I/Oモジュール上のボタンから
        private var _square:Sprite;

        public function GainerBasic_Button() {
            // Gainerのインスタンスを生成
            _gainer = new Gainer();

            // 矩形を生成してステージ中央に追加
            _square = new Sprite();
            _square.graphics.beginFill(0x808080);
            _square.graphics.drawRect(-25, -25, 50, 50);
            _square.graphics.endFill();
            _square.x = stage.stageWidth / 2;
            _square.y = stage.stageHeight / 2;
            addChild(_square);

            // GainerGUIのインスタンスを生成して配置
            var gui:GainerGUI = new GainerGUI();
            addChild(gui);
            _gainer.gui = gui;

            // I/Oモジュール上のボタンに対してイベントリスナをセット
            // PRESS:押した
            // RELEASE:離した
            // LONG_PRESS:長押し
            _gainer.button.addEventListener(ButtonEvent.PRESS, buttonPressed);
            _gainer.button.addEventListener(ButtonEvent.RELEASE, buttonReleased);
            _gainer.button.addEventListener(ButtonEvent.LONG_PRESS, buttonLongPressed);
        }

        private function buttonLongPressed(e:ButtonEvent):void {
            // ボタンが長押しされたら画面上の矩形の大きさを2倍に
            _square.scaleX = 2.0;
            _square.scaleY = 2.0;
        }

        private function buttonPressed(e:ButtonEvent):void {
            // ボタンが押されたら画面上の矩形の大きさを1.5倍に
            _square.scaleX = 1.5;
            _square.scaleY = 1.5;
        }

        private function buttonReleased(e:ButtonEvent):void {
            // ボタンが離されたら画面上の矩形の大きさを元に戻す
            _square.scaleX = 1.0;
            _square.scaleY = 1.0;
        }
    }
}