wordList.list.htmlText =tempValue;
13 var width =_root.tempFormat.getTextExtent
.(tempWord).width+15;
14 var y =_root.wordList.list.textHeight-5;
15 _root.wordList.lines.lineStyle(2,0x990000,100);
16 _root.wordList.lines.moveTo(0,y);
17 _root.wordList.lines.lineTo(width,y);
18 }
19 }
20 _root.wordList.list.htmlText =tempValue;
21 }
Не трудно понять общую картину того, что делает эта функция. Она использует текст в формате HTML для отображения списка слов в текстовом поле. Если слово еще не было выбрано, оно появляется цветным; если было выбрано, оно становится другого цвета и линией перечеркивания. В этой функции мы проходим в цикле по списку слов в массиве listings. Если вы помните, массив listings содержит объекты, которые представляют каждое слово. Если в объекте слова word есть свойство с именем found, имеющее значение true, то слово отмечается как найденное.
В нескольких первых строках мы создаем новый формат текста. Этот текстовый формат не применяется напрямую в текстовом поле. Мы создаем его с единственной целью иметь возможность использовать метод getTextExtent() объекта textFormat. С помощью getTextExtent() мы можем определить, какой ширины может быть определенная фраза текста. Мы можем использовать эту информацию, когда рисуем линию через слово для его пересечения (строки 13-17). Если вы используете Macintosh и пересекающая линия простирается на всю ширину сцены, в этом виноваты не ваши глаза – это ошибка, которая еще не устранена.
После того, как каждое слово из списка listings было проверено и отформатировано в переменную tempValue, мы устанавливаем это значение в текстовом поле (строка 20).
restart()
Эта функция была рассмотрена кратко в начале этого раздела. Она очень короткая и простая. Она удаляет все клипы окружностей и затем возвращает клип на кадр с меткой Generate.
1 function restart(){
2 for (var i =0;i<=board.circles;++i){
3 board ["circle"+i ]