AS2 Flash - тест IF, операторы не работают - PullRequest
0 голосов
/ 20 марта 2012

У меня есть утверждение 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 Ответ

1 голос
/ 20 марта 2012

Я думаю, что ваш 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

Это должно дать вам "Брэд Смит" за первый вопрос

...