package {
import flash.display.*;
import flash.events.*;
import flash.text.*;
import gainer.*;
//デジタル出力
public class DOutEx extends Sprite {
private var gio:Gainer;
private var label:Array;
private var value:Array;
//コンストラクタ
public function DOutEx() {
//Gainerの生成
gio=new Gainer("localhost",2000,Gainer.MODE1,true);
gio.onReady=onReady;
}
//初期化
private function onReady():void {
var i:int;
var tf:TextField;
//ラベルの生成
label=new Array();
value=new Array();
for (i=0;i<4;i++) {
tf=new TextField();
tf.autoSize=TextFieldAutoSize.LEFT;
tf.background=true;
tf.backgroundColor=0xDDDDDD;
tf.x=10;
tf.y=10+30*i;
addChild(tf);
label.push(tf);
value.push(false);
label[i].addEventListener(
MouseEvent.MOUSE_DOWN,onMouseDown);
}
dOut(null);
}
//マウスダウンイベントの処理
private function onMouseDown(evt:MouseEvent):void {
dOut(evt.target);
}
//デジタル出力
private function dOut(target:Object):void {
var i:int=0;
//値更新
for (i=0;i<4;i++) {
if (label[i]==target) value[i]=!value[i];
if (value[i]) {
label[i].text="dout "+i+" on";
} else {
label[i].text="dout "+i+" off";
}
}
//デジタル出力
gio.digitalOutput(value);
}
}
}
|