我有一个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问题?
感谢。
答案 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”