UDN
Search public documentation:

CLIKCheckBoxCH
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 > 如何获得并设置一个复选框数值

如何获得并设置一个复选框数值


概述


该教程向您展示如何从一个复选框中设置或得到一个数值。

获得一个复选框的数值


假设您的复选框已经在"aCheckBox"的Flash中有一个实例名,或假设您已经对该复选框使用了一个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! Note: 当您可以使用CLIK_press作为事件来进行监听,这就将跟随先前复选框的状态,而不是现有状态。 CLIK_select能保证在用户按下复选框按钮以后,您能获得复选框当前状态,而不是在此以前。 当然,不用在等待用户点击它的情况下,就能得到复选框现有的状态,只需要利用以下代码:

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

设置一个复选框的数值


从虚幻脚本中设置复选框

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
}

在ActionScript(在您Flash文件中复选框实例所在的关键帧上)中,您需要以下的代码,这些代码会正确设置复选框的数值,并将复选框短片设置到正确的关键帧,该关键帧稍后会显示是否有检测。

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