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

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

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

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

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

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

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

значе-ия, состоят ли слова из строчных или прописных букв (кроме свойства
tegory), потому что все буквы в игре будут сделаны заглавными. Наконец, и
пе можете использовать никаких символов в теге <word>, которые не явля-
>гся буквами. Это означает отсутствие пробелов, линий подчеркивания,
чисел |и любых символов, которые выходят за пределы А - Z. Например,
"Wizard of >z" записан в вышеприведенном примере как wizardofoz.
Используя эти сведе-шя, вы можете легко создать ваш собственный список
слов!
огика игры
И этом разделе мы рассмотрим логику, используемую во всех аспектах игры,
or выбора категории списка слов до создания сетки и выбора слов. В
некоторых лучаях мы будем пристально изучать код, но чаще я объясняю, что
делает каж-:ая функция без прохождения ее строка за строкой.
Выбор категории
1режде чем вы можете выбрать категорию (которая представляет собой всего
лишь один из списков слов в файле wordlists.xml), файл должен быть
загружен, информация из него выделена. Давайте посмотрим на код
ActionScript в кадре 1.
1 doc =new XML();
2 doc.ignoreWhite =true;
3 doc.load("wordlists.xml");
Вначале мы создаем объект XML с названием doc, в который мы хотим загру-
5ить файл. Затем мы загружаем его, используя метод load() объекта XML.
Поскольку мы не можем ничего делать до загрузки файла в игру, мы
добавляем >словие в загрузчик игры. Вы можете видеть это в кадре 2.
1 factor=(_root.getBytesLoaded()+doc.getBytesLoaded())/
(_root.getBytesTotal ()+doc.getBytesTotal());
2 percent.text = Math.floor(factor*100)+''%";
3 if (factor> = l && doc.loaded) {
4 _root.gotoAndStop("Splash");
5 }
366
Часть 2. Исследование <х
Представьте, что файл XML очень велик, скажем 50 кбайт. Тогда добавлен
загрузчика для этого файла XML было бы просто необходимо. Если этой'
сделать, то файл игры отображал бы главное меню и пользователь мог бы по!
таться начать играть еще до того, как слова были бы загружены! В строке I
шеприведенного кода мы создаем переменную с именем factor. Это общее ко!
чество загруженных байт, разделенное на общее количество байт в файле.
Ког factor умножается на 100, результат представляет собой проценты
размера (| ла, которые были загружены. Таким образом, например, если фл
wordsearch.swf игры имеет размер 80 кбайт и файл wordslist.xml имеет
размер кбайт, то знаменатель этого отношения равен 100. Если того же
wordsearch.r загружено 60 кбайт, a wordslist.xml содержит 10 кбайт, то
числитель равен Таким образом, процент загрузки на этот момент равен
(70/100) * 100 = 70 В строке 3 мы проверяем, является ли значение factor
большим или равным и загружен ли полностью doc. Когда doc загружен
полностью, значение С свойства loaded равно true. Если оба эти условия
выполнены, то все загружа и выражение дает нам добро на переход к кадру
заставки. В ином случае lit произведение переходит на другой кадр и затем
назад к этому ка.1' для следующей проверки.
Из кадра заставки пользователь может нажать на кнопку Start Game и пс
местится к кадру Select. Здесь мы интерпретируем XML в объект doc и
создя^ и отображаем категории в компоненте списка ListBox. Ниже
представлены ив вые несколько строк кода ActionScript.
1 words = { } ;
2 words.lists =[];
3 playButton._alpha=50;
Вначале мы создаем объект с именем words. Этот объект будет употреблять
для хранения списка слов и в конечном счете будет использоваться для
хранеш всей информации об игре. В строке 2 мы создаем массив в объекте
words с им нем lists. Этот массив будет содержать список слов в данной
категории, а так,г' имя категории. Далее мы устанавливаем значение
свойства _alpha кнопя playButton в 50. Это визуально дает понять, что вы
не можете нажать ее, по категория не выбрана. Когда категория выбрана,
значение свойства _alpha кно1. ки playButton устанавливается обратно в
100.
Далее создается и затем выполняется следующая функция:
1 ва 14. Поиск
слова_________________________________________________________367
1 function init() {
2 var temp = [ ] ;
3 var temp = doc.firstChild.chi 1dNodes;
4 scrollingList = [];
5 for (var i = 0; ictemp.length; ++i) {
6 var tempList = temp[i].childNodes;
7 var category = temp[i].attributes.categorу;
8 var wordArray = [ ] ;
9 for (var j = 0; jctempList.length; ++j) {
10 var word = tempList[j].firstChild.nodeValue;
11 wordArray.push(word);
12 )
13 words.lists.push({wordList:wordArray, category:category});
14 scrollingList.push({label:category, data:i});
15 }
16 scrollList.setDataProvider(scrollingList);
17 scrollList.setChangeHandler(''myHandler");
18 }
19 i n i t() ;
> га функция проходит через содержимое XML в объекте XML doc и
выделяет ."сю информацию, которая нам нужна. Массив слов создается для
каждой кате-юрии (строка 11) и затем сохраняется в объект, который
описывает эту категорию (строка 13). Также в этом объекте сохраняется
свойство, называемое ategory, которое хранит имя категории. Этот объект
добавляется в массив lists. Например, объект для первой категории - виды
Предыдущая << 1 .. 114 115 116 117 118 119 < 120 > 121 122 123 124 125 126 .. 210 >> Следующая