Это сообщение получено как «автоотказ», а не как обычный, созданный пользователем отказ. Таким образом, пользователь user3 будет знать, что пользователь user1 не инициировал отказ, но что этот отказ является результатом возникшей ситуации. Из ваших ушей еще не идет дым?
Теперь другая ситуация: пользователь user1 вызывает пользователя user2. Но прежде чем ответить, пользователь user2 покидает комнату или покидает чат. Что происходит тогда? Объект ElectroServerAS запрограммирован и на обработку этой ситуации. Вызывающий (user1) получает автоотказ, сообщающий ему о полной недоступности пользователя user2. Если пользователь user1 покидает систему, то вызываемый (user2) получает сообщение «Challenge Cancelled» («Вызов снят»).
Структура файла
Вы видели все, что было запрограммировано в этом чате. Теперь давайте посмотрим на все кадры и клипы, используемые в этом файле. Как только вы получите хорошее понимание того, как структурирован это файл, будет намного проще понять код ActionScript.
Откройте файл chat_fullfeatured.fla из папки Chapter13, если вы этого еще не сделали. Главная шкала времени имеет три слоя: Labels, Actions, и Assets. Здесь есть три кадра с метками: Loader, Chat System, и Game. Кадр Loader (и непомеченный кадр после него) обрабатывает отображение процесса загрузки клипа. Кадр Chat System содержит клип, который содержит все экраны, использованные в этом чате, такие как экран авторизации и экран чата. Этот кадр также содержит весь код ActionScript, используемый для построения чата (в данный момент выходящего за пределы этого кадра). Кадр Game является лишь шаблоном, где в последующем будет находиться многопользовательская игра. Мы не будем сейчас говорить об этом. В Части 3 этой книги мы рассмотрим некоторые многопользовательские игры, и там вы увидите использование этого кадра.
Перейдите к кадру Chat System. Клип в этом кадре имеет имя экземпляра chat. Двойным кликом на этом клипе откройте его, чтобы посмотреть, что внутри