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

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

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

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

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

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

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

используется сложная внут-итшяя система событий.
Например, представьте, что в комнате несколько посетителей скажем., и
userl до user3. Пользователь userl вызывает пользователя user2, Пока
пользо-.пель user2 решает, что он хочет делать и еще не ответил,
пользователь user3 называет пользователя userl. Объект ElectroServerAS
знает, когда игрок был вы-цан, но еще не ответил, и знает, когда игрок
вызвал кого-то, но еще не получил шета. Так что если пользователь
получает вызов в неразрешенный момент, полный этому, объект
ElectroServerAS автоматически посылает особое сообщение отказом второму
игроку (user3). Это сообщение получено как "автоотказ", а не Sik обычный
созданный пользователем отказ. Таким образом, пользователь user3 in чет
знать, что пользователь userl не инициировал отказ, но что этот отказ
явля-1ся результатом возникшей ситуации. (Из ваших ушей еще не идет дым?)
Теперь другая ситуация: пользователь userl вызывает пользователя user2.
L) прежде чем ответить, пользователь user2 покидает комнату или покидает
чат го происходит тогда? Объект ElectroServerAS запрограммирован и на
обработку той ситуации. Вызывающий (userl) получает автоотказ, сообщающий
ему о пол-knii недоступности пользователя user2. Если пользователь userl
покидает систему,
> вызываемый (user2) получает сообщение Challenge Cancelled (Вызов
снят).
346
Часть 2. Исследование о
Структура файла
Вы видели все, что было запрограммировано в этом чате. Теперь давайте I
смотрим на все кадры и клипы, используемые в этом файле. Как только вы
рошо поймете хорошее понимание того, как структурирован это файл, буде!
много проще понять код ActionScript.
Откройте файл chat_fullfeatured.fla из папки Chapterl3, если вы п еще не
сделали. Главная шкала времени имеет три слоя: Labels, Act и Assets.
Здесь есть три кадра с метками: Loader, Chat System и G Кадр Loader (и
непомеченный кадр после него) обрабатывает отоб жение процесса загрузки
клипа. Кадр Chat System содержит клип, торый содержит все экраны,
использованные в этом чате, такие, экран авторизации и экран чата. Этот
кадр также содержит весь ActionScript, используемый для построения чата
(в данный мом выходящего за пределы этого кадра). Кадр Game является лишь
лоном, где в последующем будет находиться многопользователь игра. Мы не
будем сейчас говорить об этом. В части 3 этой книги рассмотрим некоторые
многопользовательские игры, и там вы увп те применение этого кадра.
Перейдите к кадру Chat System. Клип в этом кадре имеет имя экземпляра
Двойным щелчком на этом клипе откройте его, чтобы посмотреть, что вн ри.
Вы увидите, что он также имеет три слоя: Labels, Actions и Assets (с 1 же
именами слоев, что и в основной шкале времени) - и четыре метки ка
Connection Failed, Login, Login Failed и Chat. Первый кадр в шкале
времени имеет метки и содержит текст, который сообщает Connecting. Этот
кадр о бражается, когда чат пытается подключиться к ElectroServer. Кадр
ошп соединения (который содержит текст со словами Connection Failed)
огобра ется, когда попытки соединиться с ElectroServer не имели успеха.
Кадр Lo это тот кадр, где вы регистрируетесь на сервере. Он содержит поле
для bi текста и кнопку с надписью Login. Вы видите кадр Login Failed,
когда pei рация потерпела неудачу. Этот кадр отображает текстовое поле,
которое общает о причине ошибки и кнопку с надписью Try Again, которая
возвра ет вас назад к метке Login.
¦ава 13. Препарирование чата
347
¦Легка Chat содержит основные элементы, используемые в чате. К ним отно-
шея большое текстовое поле в верхней части экрана с именем экземпляра
bndow. В нем отображаются сообщения чата. Компоненту ScrollBar, привязан-
V чу к этому текстовому полю, было дано имя экземпляра bar.
I Выше поля window находится текстовое поле с именем экземпляра room. Ii
3 текстовое поле отображает имя комнаты, в которой вы находитесь. Оно
• 'мовляется всякий раз, когда вы меняете комнату. Ниже поля window
нахо-¦шея поле для ввода текста с именем экземпляра message. Тут вы
вводите сомнение, которое хотели бы послать в чат. Чтобы послать
сообщение, вы к 1жны нажать кнопку Send или клавиши Enter или Return.
I На левой и правой стороне экрана находятся компоненты ListBox (которые
Ь тупны прямо в редакторе Flash). Правый имеет имя экземпляра userList
I используется для отображения списка пользователей в комнате. Левый
имеет 1<>1я экземпляра roomList и используется для отображения списка
доступных
¦ >\шат. Ниже списка комнат находится кнопка с надписью Create Room.
При ki катии она открывает всплывающее окно, которое предлагает вам
ввести но-¦к- имя комнаты.
348
Часть 2. Исследование ос
- Имя экземпляра: "Room" Lobby
Имя экземпляра; "Window"
l_Dbbv(1)
~н.
а?1
Create Room
г- Имя экземпляра. "Ваг"'
- Компонент roomList
Send
Имя экземпляра "Message"
¦ Компонент userList
В сцене есть три экземпляра клипа (выше поля window) с именами popup, pop
и рорирЗ. Экземпляр popup обрабатывает четыре необходимых экрана, чт
Предыдущая << 1 .. 107 108 109 110 111 112 < 113 > 114 115 116 117 118 119 .. 210 >> Следующая