0

我想要有相互依赖的文本字段。例如,有两个输入文本字段,如角频率(ω)和普通频率(f),ω=2πf。如果我改变一个,另一个就会改变。我怎样才能做到这一点?第二件事,如何检查文本字段是否为空?

if (field.text=="")... // doesn't work
4

1 回答 1

2

有两种方法可以做到这一点。您可以在每一帧调用某种更新函数,检查每个字段的当前值与它们过去的值,并查看是否有变化然后对此做出反应。

private var tf1 : TextField = new TextField();
private var tf2 : TextField = new TextField();
private var tf1LastVal : String = "";
private var tf2LastVal : String = "";

public function update() : void
{
    if(tf1.text != tf1LastVal)
    {
        tf2.text = //put your logic here
        tf1LastVal = tf1.text;
    }
    else if(tf2.text != tf2LastVal)
    {
        tf1.text = //put your logic here
        tf2LastVal = tf2.text;
    }
}

另一种更好的方法(在我看来)是向您的 TextFields 添加事件侦听器

//add this where you construct your TextFields
tf1.addEventListener(Event.CHANGE, onTf1Change);
tf2.addEventListener(Event.CHANGE, onTf2Change);
//end

private function onTf1Change(e : Event) : void
{
    tf2.text = //your logic here;
}

private function onTf2Change(e : Event) : void
{
    tf1.text = //your logic here;
}
于 2012-05-04T15:05:21.440 回答