AS2 Flash - 测验IF语句不起作用

时间:2012-03-19 20:01:22

标签: flash if-statement actionscript-2

我有一个if语句似乎不适用于我的测验,它在AS2中。

var check_answer_num:Number = (answer_num+1);

var tmp_answer:String = xml_engine.firstChild.childNodes[quiz_current].childNodes[1].firstChild;
var tmp_user_answer:String = xml_engine.firstChild.childNodes[quiz_current].childNodes[check_answer_num].firstChild;

if(tmp_answer==tmp_user_answer) {
    trace("YES");
} else {
    trace("NO");
}

当我测试测验时,即使它是正确的,它也会为每个答案输出NO。不确定这是否是一个定义的vars问题?

感谢。

1 个答案:

答案 0 :(得分:1)

我认为基于您提供的示例XML,您的XML遍历可能不对。

这是您的XML(仅为了清晰起见):

<Quiz> 
 <Question> 
   <QText>Who is the main character?</QText> 
   <QAns>Brad Smith</QAns> 
   <Option>Al Ahkmed Zahid</Option> 
   <Option>Brad Smith</Option> 
   <Option>Dinah Soares</Option> 
   <Option>Jack Knoff</Option> 
 </Question> 
 <Question> 
   <QText>What was Brad Smith originally?</QText> 
   <QAns>A Homeless Guy</QAns> 
   <Option>A Homeless Guy</Option> 
   <Option>A Church Minister</Option> 
   <Option>A Homeless Guy</Option> 
   <Option>A Hippy</Option> 
 </Question> 
</Quiz>

现在,这是你的tmp_answer声明:

var tmp_answer:String = xml_engine.firstChild.childNodes[quiz_current].childNodes[1].firstChild;

假设xml_engine是上面代表的整个文档,xml_engine.firstChild是第一个<Question>节点,我认为这不是你想要的。

试试这个:

var tmp_answer:String = xml_engine.childNodes[quiz_current].childNodes[1].firstChild

第一个问题应该给你“Brad Smith”