UDN
Search public documentation:

CLIKCheckBoxJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 ホーム > ユーザーインターフェイスと HUD > 「Scaleform GFx」 > チェックボックスの値を取得および設定する方法

チェックボックスの値を取得および設定する方法


概要


このチュートリアルでは、チェックボックスの値を設定または取得する方法について解説します。

チェックボックスの値を取得する


以下の UnrealScript によって、チェックボックスの値を取得できるようになります。ただし、この UnrealScript では、チェックボックが Flash の aCheckBox というインスタンス名をもち、かつ、チェックボックスに CLIK ウィジェットが使用されているということが想定されています。

Unrealscript
var GFxClikWidget MyCheckBox;
var bool MyOption;

event bool WidgetInitialized(name WidgetName, name WidgetPath, GFxObject Widget)
{
  switch(WidgetName)
  {
  case ('aCheckBox'):
    MyCheckBox = GFxClikWidget(Widget);
    if (MyCheckBox  != None)
    {
      MyCheckBox.AddEventListener('CLIK_select', OnMyCheckBoxChange);
    }
    break;

  default:
    break;
  }

  return true;
}

function OnMyCheckBoxChange(GFxClikWidget.EventData ev)
{
  MyOption = MyCheckBox.GetBool("_selected");
  `log("aCheckBox has been set to: "@MyOption);
}

defaultproperties
{
  WidgetBindings.Add((WidgetName="aCheckBox",WidgetClass=class'GFxClikWidget'))
}

ALERT! 注意: リッスン対象のイベントとして CLIK_press を使用することもできますが、その場合は、チェックボックスの現在の状態ではなく前の状態がもたらされることになります。CLIK_select によって、ユーザーがチェックボックス ボタンを押した後の (押した前ではなく) 現在の状態を取得することができます。もちろんのこと、ユーザーによるチェックボックス ボタンのクリックを待たずに現在のチェックボックスの状態を取得するには、次のコードを使用するだけで簡単に実現することができます。

Unrealscript
MyOption = MyCheckBox.GetBool("_selected");

チェックボックスの値を設定する


UnrealScript からチェックボックスを設定するには次のようにします。

Unrealscript
MyCheckBox.SetBool("selected", true); // or false

または、次のようにします。

Unrealscript
SetMyCheckBox(true); // true or false

function SetMyCheckBox(bool b)
{
  ActionScriptVoid("SetMyCheckBox"); // passes the boolean value stored in 'b' to the AS function SetMyCheckBox
}

(チェックボックス例があるキーフレーム上の flash ファイルの中の) ActionScript 内に、以下のコードがあるはずです。 これは、チェックボックスの値を適切に設定すると共に、チックスボックスのムービークリップを正しいキーフレームに設定します。その後、チェックまたはチェックなしのどちらかを表示します。

ActionScript
function SetMyCheckBox(checked:Boolean)
{
  aCheckBox.selected = checked;
}