Когда это событие вызывается, объект, который содержит все переменные комнаты передается в него. Мы проверяем значения player1stopped и player2stopped в этом объекте. Если они оба имеют значение «yes», то мы находимся в ситуации, когда можем позволить ходить другому.
Многопользовательские действия
Если вы еще не открыли pool.fla, сделайте это сейчас. Этот файл игры идентичен такому-же из крестиков-ноликов, за исключением содержимого кадра Game в главной шкале времени. Щелкните на этот кадр сейчас, в слое Actions. Код ActionScript в этом кадре, который используется для обработки общения такой же точно, как в окне чата в крестиках-ноликах.
Двойным кликом на клипе в этом кадре войдите в него. Вы увидите в этом клипе три слоя - Multiplayer Actions, Actions, и Assets. Слой Assets содержит всю графику и клипы, которые необходимы в игре. Слой Actions содержит код ActionScript, используемый для всех целей в этой игре, исключая передачу данных от игрока к игроку (например, посылку и получение ходов). Кадр Multiplayer Actions содержит весь код ActionScript, необходимы для посылки и получения ходов; создания, изменения и получения переменных комнаты; и для инициализации игры. Код в этом кадре мы будем рассматривать сейчас. Большая часть этого кода будет освещена кратко, поскольку он сходен с тем, что использовался в игре крестики-нолики.
Ниже представлен код ActionScript, который находится в нижней части этого кадра:
1 ES =ElectroServer;
2 player =ES.player;
3 initializedYet =false;
4 ES.onRoomVarChange =roomVarChanged;
5 ES.moveReceived =moveReceived;
6 ES.joinGame();
7 createVar("player"+player,"here");
В строке 1 мы просто создаем псевдоним для ElectroServer на экземпляр объекта ElectroServerAS. Это сделано скорее из лени (проще напечатать ES, чем напечатать ElectroServer!). Далее мы устанавливаем переменную с именем player для хранения вашего номера игрока. Если вы являетесь вызывающим, то ваш номер игрока равен 1; в другом случае он равен 2