2- 最初にボタンの「アクティブ」~「インアクティブ」を学ぼう

はじめに

オブジェクトの “アクティブ” ~ “インアクティブ”とは

GUI Designerのボタンは、1つに対してあらかじめ2つの画像を仕込むことができます。それが切り替えることによって、ユーザーに「変化」があったことを知らせることができます。

  • 通常状態を「インアクティブ」
  • 変化があったときの状態を「アクティブ」

と言います。

主な用途は2つ

1- ユーザーが押した時に変化させて「押した感」を与える
2- エアコンや照明などのON/OFF状態を知らせる

これが細かく設定できるのが家電量販店やネット通販で手に入る「セルフオートメーション」ではできないCommandFusionならではの醍醐味と言っていいでしょう。

実例1) ユーザーが押した時に変化させて「押した感」を与える

下のスクリーンショットは応用した例。
12個のチャンネルボタンをグループ化させて、そのうち1つだけをアクティブ。どのチャンネルが選局されているかが一目分かります。

実例2)家じゅうの家電のON/OFF状態を知らせる

照明のON/OFFとボタンオブジェクトを連動させて、お部屋の状態が一目で分かる、ということもできます。

センスの問われる作業です

以上からボタンオブジェクトを「アクティブ」「インアクテュブ」させることは、ユーザーフレンドリーに大きく左右されます。最初は難しいかも知れませんが、いろいろ試してみましょう。

中級編 – Setjoinの実例!!

ここから少しレベルが上がります。CommandFusionのプログラムはいろいろなコマンドが登場します。その中でも、ボタンオブジェクトを「アクティブ」~「インアクティブ」にさせるのがCF.setjoinです。CF.setjoinは非常に頻繁に使われるコマンドですので、このページでしっかりと抑えましょう。

以下が使用例です。忘れた時はここのページからコピーペーストして下さい。

CF.setJoin(“d2”, 1);
意味:Digital Join 2番のボタンをアクティブにします。(1=アクティブ)

CF.setJoin(“d2”, 0);
意味:Digital Join 2番のボタンを非アクティブにします。(0=非アクティブ)

これら2つが実行されたら、ボタンは「アクティブ」又は「インアクティブ」になります。ではコマンドをどうやってボタンにアサインするのでしょうか?
やり方は2つあります。

方法1 ボタンプロパティに直接打ち込む方法

お待たせしました。ようやくここで実践に入ります。

  1. まずはココからサンプルプログラムをダウンロードして下さい。
    GW-setjoin.gui
  2. ダウンロードしたzipを任意のフォルダーに解凍して下さい。
  3. GUIファイルが1つあります。それをGUI Designerで開きます。
  4. 下記のボタンをダブルクリックして下さい。
  5. 、「”Action”タブ」> 「Java Script」に CF.setJoin(“d1”, 1); をコピーします。
  6. 「File」 > 「Upload Service」を選んでGUIをiPadにアップロードしましょう。(>>方法はコチラ)

方法2 システムにCF.setjoinを作成する方法

先ほどの方法1では、ボタンプロパティに直接入力しました。今度はワンクッション置く方法を使います。

  1. 先ほどのGUIは閉じて下さい。今度は以下のサンプルプログラムをダウンロードして下さい。
    GW-setjoin2.gui
  2. GUIを開いたら、System Managerから”Add System”をクリック
  3. 次にSystem Managerから”Feedback”のUDPを作成します。

    ↑いろいろ疑問を思うかも知れませんが、今は細かいことは気にせずに、①~⑤まで、図の通り入力して下さい。
  4. “今作成した “Feedback”を選択したあと、「Add Command(ギヤのアイコン)」を選択して、下記のとおりコマンドを作成します。
  5. CF.Setjoin(“d2”, 1); は 「Java Script」に入力します。間違って「Command Value」に入力しないで下さい。
  6. コマンドが1つ完成しました。
  7. 同じ手順でD2_inactiveも追加します。
  8. コマンドが2つ完成しました。
  9. 下記のとおり2つのコマンドをドラッグして下さい。
  10. 「File」 > 「Upload Service」を選んでGUIをあなたのiPhone/iPadにアップロードしましょう。
    (>>方法はコチラ)

ここまでは基本中の基本となります。なんとか頑張って下さい!!