Всякий раз, когда вы кликаете на имени пользователя, вызывается функция personClicked(). Ниже приведен код этой функции:
1 function personClicked(path){
2 var name =path.getValue();
3 if (name !=ES.username){
4 chat.popup.gotoAndStop("Waiting");
5 chat.userList.setEnabled(false);
6 ES.challenge(name,"Fake Game");
7 }
8 }
Когда эта функция выполняется, в нее передается путь к имени пункта name в списке. Из ссылки path мы можем получить значение этого пункта списка, который является именем пользователя. Назначение этой функции состоит в вызове выбранного пользователя в игру. Сначала мы делаем проверку, чтобы убедиться, что не пытаемся вызвать себя (строка 3). Если нет, то мы идем дальше. В строке 4 мы посылаем экземпляр клипа popup на кадр ожидания. Затем мы делаем неактивным список userList (так что вы не можете вызывать кого-то еще). Наконец, мы вызываем метод challenge() объекта ElectroServerAS. Этот метод принимает два параметра – имя пользователя, которого вы хотите вызвать и имя игры, в которую вы хотите играть. Когда пользователь получает ваш вызов, возникает событие challengeReceived.
1 function challengeReceived(from,game){
2 var msg =from+"has just challenged you to a game of
."+game+"!";
3 chat.userList.setEnabled(false);
4 chat.popup.gotoAndStop("Challenged");
5 chat.popup.msg.text =msg;
6 }
Принимаются два параметра, from и game. Параметр from представляет собой имя вызывающего, а game является именем игры, в которую вы зовете поиграть. В строке 2 мы создаем сообщение, показываемое вызываемому. Затем список userList делается неактивным (строка 3). В строке 4 клип popup переводится на кадр с меткой Challenged, и в следующей строке сообщение отображается в тестовом поле. Когда эта функция завершена, пользователь должен видеть сообщение, говорящее ему, что он был вызван. В этот момент он делает выбор- либо принять, либо отклонить вызов