Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Секреты разработки игр в Macromedia Flash MX - Макар Дж.

Макар Дж. Секреты разработки игр в Macromedia Flash MX — М.: КУДИЦ-ОБРАЗ , 2004. — 608 c.
ISBN 0-201-77021-0
Скачать (прямая ссылка): sekretirazrabotkiigr2004.djvu
Предыдущая << 1 .. 115 116 117 118 119 120 < 121 > 122 123 124 125 126 127 .. 210 >> Следующая

фруктов (Types of Fruit в исходном файле) сохранен как первый элемент в
массиве lists, lists[0]. Этот объект, lists[0], содержит свойство
категории, значение которого равно "of Fruit", и массив с названием
wordlist, значениями которого являются слова категории. К тому моменту,
как функция доходит до строки 16, вся информация из XML уже была выделена
и сохранена должным образом. Компонент ListBox в сцене имеет имя
жземпляра scrollList. В строке 16 мы устанавливаем источник данных для
этого списка, установкой указателя на массив scrollingList, который
содержит имя каждой категории. Компонент ListBox принимает эту информация
и автоматически "аполняет список. Затем в строке 17 мы изменяем функцию,
которая вызывается при выборе пункта списка. Мы делаем это с помощью
метода setChangeHandler() и передаем в него имя функции, которую мы
хотели бы вы-1вать. Так, когда мы кликаем по категории, вызывается
функция myHandlerQ.
368
Часть 2. Исследование о
До этого момента вы видели код ActionScript, необходимый для загрузки фан
XML, его разбора, логического сохранения данных и отображения категор! в
списке. Теперь давайте посмотрим, что происходит, когда выбрана
категория.
1 function myHandler() {
2 playButton._alpha = 10 0;
3 playButton.enable = true;
4 'var categorylndex = s cr о 1 ILi s t. get Sele с tedl tern () .
data ;
5 words.words = words.lists[categorylndex].wordList;
6 words . category = scrollList.getSelectedltem().label;
7 !
Вышеприведенная функция, myHandler(), вызывается, когда выбрана категорн
Вначале кнопку playButton имеет значение прозрачности _alpha, равное 100,
к что она выглядит активированной. Затем мы устанавливаем перемет iv в
экземпляре playButton с именем enabled в значение true. Выражение if на
кнс ке в экземпляре playButton проверяет, равно ли enable true, прежде
чем ш (кнопка) среагирует на нажатие. В строке 4 мы устанавливаем
переменку с именем categorylndex. Эта переменная хранит число - номер
категории, koi рая была выбрана в списке. Затем в строке 5 мы создаем
массив в объекте wor с названием words. Значение этого массива
устанавливается с помощь categorylndex и указанием на массив wordlist в
объекте, который представл эту категорию. Короче говоря, эта строка
создает массив слов, который буд использоваться в игре из выбранной
категории. В строке 6 мы храним свойсп в объекте words с именем category.
Значение category представляет собой строк с именем выбранной категории.
Так что если бы были выбраны виды фрукто то words.category была бы равна
"of Fruit".
Select a category and then press play.
Cliomlate Candv Bare j
Mu p pets Harry Potter Sports
Children's Book Characters
Dr Seuss
Animals
Victorian Authors________________Щ
ШЗСЗ
I лава 14. Поиск слова 369
11осле того как категория была выбрана, мы имеем (как увидели выше)
массив юв, названный words, и имя категории, сохраненные в объекте words.
Мы можем теперь благополучно перейти на кадры, необходимые для создания
доски.
( оздание сетки
| оздание сетки раскладки из списка слов является самой критичной частью
этой игры. Слова могут быть записаны в прямом или обратном направлении;
могут чыть расположены вертикально, горизонтально или по диагонали; могут
даже пересекать друг друга. Логика, используемая для всего, этого не
слишком сложна... но она и не так проста! Самым сложным здесь является
длинная функция, приблизительно из 130 строк, которая обрабатывает
большую часть этой логики. Н этом разделе мы снова обращаемся к тому, что
закончили в предыдущем раз-1еле, и рассматриваем все, что необходимо для
создания уникальной сетки игры 11оиск слова на экране.
Мы закончили предыдущий раздел на том, что была выбрана категория. Когда
это сделано, пользователю разрешено нажать на кнопку Play. Когда кнопка
Play нажата, игра переходит на кадр с меткой Generate. Этот кадр содержит
все клипы, необходимые в экране игры. Ниже приведены два оператора из
этого кадра.
1 generating._visible=true;
2 p 1 a у () ;
13 сцене есть экземпляр клипа с именем generating. Мы устанавливаем
значение
его свойства__^visible в true. Первый раз, когда вы попадаете в кадр
Generate,
клип generating уже виден. Однако когда игра перезапущена и этот кадр
посещается снова, клип generating уже не виден, так что мы делаем его
видимым с помощью этого оператора. Мы хотим, чтобы этот клип был видим,
пока игра рассчитывает размещение сетки, с тем чтобы пользователь знал,
что происходит. Строка 2 вышеприведенного кода просто дает указание шкале
времени продолжать воспроизведение. Через два кадра мы достигаем метки
game и останавли-[ аемся на нем.
Фрейм Game служит местом для размещения всего кода ActionScript, который
обрабатывает создание сетки, обнаруживает выбранные слова и перезапускает
игру. Мы рассмотрим четыре функции в этом разделе: scrambleWords(),
displayList(), createBoard() и restart().
ScrambleWords() берет список слов в памяти и случайным образом
Предыдущая << 1 .. 115 116 117 118 119 120 < 121 > 122 123 124 125 126 127 .. 210 >> Следующая