021203: Control an external LED
/**
* Copyright kotobuki ( http://wonderfl.net/user/kotobuki )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/9P2P
*/
// forked from kotobuki's 021201: Control the on board LED
package {
import flash.display.Sprite;
import flash.events.MouseEvent;
import funnel.*;
import funnel.gui.*;
import funnel.ui.*;
public class GainerBasic_LED extends Sprite {
// Gainerオブジェクト
private var _gainer:Gainer;
// aout 0に接続するLED
private var _led:LED;
// ステージ中央に表示する矩形のボタン
private var _squareButton:Sprite;
public function GainerBasic_LED() {
// Gainerのインスタンスを生成
_gainer = new Gainer();
// 矩形のボタンを生成してステージ中央に追加
_squareButton = new Sprite();
_squareButton.graphics.beginFill(0x808080);
_squareButton.graphics.drawRect(-25, -25, 50, 50);
_squareButton.graphics.endFill();
_squareButton.x = stage.stageWidth / 2;
_squareButton.y = stage.stageHeight / 2;
_squareButton.buttonMode = true;
addChild(_squareButton);
// Gainer GUIのインスタンスを生成して配置
var gui:GainerGUI = new GainerGUI();
addChild(gui);
_gainer.gui = gui;
// aout 0(アナログ出力0)に接続したLEDのインスタンスを生成
_led = new LED(_gainer.analogOutput(0));
// ボタンに対してイベントリスナをセット
_squareButton.addEventListener(MouseEvent.MOUSE_DOWN, mousePressed);
_squareButton.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
}
private function mousePressed(e:MouseEvent):void {
// マウスボタンが押されたらI/Oモジュール上のLEDを点灯
_gainer.led.on();
// aout 0に接続したLEDをフェードイン
_led.fadeIn(500);
}
private function mouseReleased(e:MouseEvent):void {
// マウスボタンがI/Oモジュール上のLEDを消灯
_gainer.led.off();
// aout 0に接続したLEDを
_led.fadeOut(500);
}
}
}