▼Gainerメモ▼
はじめてのGainerプログラミング - ActionScript版 -


マウスクリックすることで、I/OモジュールのLEDが点灯するプログラムを作成する。





開発ツールの準備


Java Development Kit(JDK) 5.0以降
Javaアプリケーションを開発するためのSDK。
Flex 3 SDKやAIRコマンドの実行に必要。
インストーラの指示に従ってインストール。


Flex 3.0 SDK
Flexアプリケーションを開発するためのSDK。
ダウンロードするにはユーザー登録が必要。
解凍して適当なフォルダに配置し、binフォルダにパスを通す。


テキストエディタ
ソースコードの記述にメモ帳では効率悪いので、TeraPadなどのテキストエディタをダウンロード。


Gainerソフトウェアライブラリ
Gainerをパソコンから制御するためのライブラリおよびツール郡。
「Flash」「Max/MSP」「Processing」に対応。
「ソフトウェア・ライブラリ」の「Flash」をダウンロードしてインストール。

フォルダ構成は次の通り。Flexによる開発では「ActionScript3用コード」と「gsp」のみ利用する。
fla gainer ライブラリ
examples サンプル
workshop サンプル
readme.txt 説明ファイル
reference_jp.txt リファレンス
serial_proxy win gsp本体と設定ファイル
mac gsp本体と設定ファイル
readme.txt 説明ファイル
code gspのソースコード
actoinscript3 - ActionScript3用コード


プログラムの作成


ソースコードの記述
「HelloWorld.as」を次のように記述する。文字コードはUTF-8で保存。
package {
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    import gainer.*;

    public class HelloWorld extends Sprite {
        private var gio:Gainer;

        //コンストラクタ
        public function HelloWorld() {
            //ロード時の初期化
            gio=new Gainer("localhost",2000,Gainer.MODE1,true);
            gio.onReady=onReady;
        }

        //gspとの接続成功時に発生
        private function onReady():void {
            //ベースの生成
            var base:Sprite=new Sprite();
            base.graphics.beginFill(0xffffff);
            base.graphics.drawRect(0,0,240,240);
            base.graphics.endFill();
            addChild(base);

            //テキストフィールドの生成
            var textField:TextField=new TextField();
            textField.text="ボタン押下でLED点灯";
            textField.autoSize=TextFieldAutoSize.LEFT;
            base.addChild(textField);            

            //イベントリスナーの追加
            base.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
            base.addEventListener(MouseEvent.MOUSE_UP,onMouseUp);
        }

        //マウスダウンのイベント処理
        private function onMouseDown(evt:MouseEvent):void {
            gio.turnOnLED();
        }

        //マウスアップのイベント処理
        private function onMouseUp(evt:MouseEvent):void {
            gio.turnOffLED();
        }
    }
}


実行ファイルの生成
ビルドコマンドは次の通り。
mxmlc --strict=false --warnings=false -source-path C:\gainer_lib_flash_v1-1-0rc2\actionscript3 -default-size 240 240 -default-frame-rate=30 -default-background-color=0xFFFFFF HelloWorld.as
ソースパスとしてGainerソフトウェアライブラリのactionscript3フォルダを指定している。
Gainerソフトウェアライブラリは厳密な型チェックを行ってないので、警告を無視するオプションも付けている。
成功するとHelloWorld.swfが生成される。

プログラムの実行



プログラムの実行
Flash用のGainerソフトウェアライブラリはFlashが直接シリアル通信できないので、「gsp(serial_proxy)」と呼ばれるプロクシサーバを介して、パソコンからGainerを操作する仕組みになっている。そのため、Gainerを操作するアプリケーションを実行する前に、gspを起動しておく必要がある。

  1. GainerとパソコンをUSBケーブルで接続。
  2. 「gsp.exe」をダブルクリックで実行。
  3. 「GANER started」と表示されたら起動成功。
  4. 失敗した時は「setting.txt」を開き、
    1行目にポート番号(2000)、
    2行目にGainerと接続したシリアルポート名(COM4など)
    を記述し再度実行。
    gspの起動しなおし、USBケーブルを挿しなおしでも直ることがある。
  5. SWFをブラウザで開く。





−戻る−