Все другие клипы, которые будут созданы, подключаются внутри floor.
В следующих нескольких строках (3-10) создается объект world и используется для сохранения информации о мире. Это сделано также как в Главе 8, «Изометрический взгляд на мир». Свойство path хранит ссылку на клип floor. В строке 12 вызывается функция buildFloor() и в нее передается ссылка path. Эта функция создает все плитки и использует path, чтобы знать, куда их поместить.
Строки 13-21 используются для создания монстра для каждого игрока. Вначале созданы две переменные – name1 и name2. Значения этих двух переменных представляют собой имена двух игроков. Затем мы вызываем функцию buildCharacter(), один раз для каждого из двух имен. Мы передаем имя для именования монстра, ссылку path, координаты x и z плитки, на которой располагается монстр, и тип используемого монстра. Есть только два монстра, так что тип монстра может быть либо 1 (для зеленого монстра) либо 2 (для синего монстра).
Последним, что делает функция buildWorld(), является определение обработчиков onMouseMove и onMouseDown для клипа floor. При щелчке мыши обработчик события onMouseDown вызывает функцию worldClicked(). Функция worldClicked() определяет, может ли персонаж идти туда, куда вы его только что отправили (щелчком). Если персонаж может туда пойти без нарушения правил, то он инструктируется, как это сделать. Когда мышь передвинута, обработчик события onMouseMove вызывает функцию over(), который определяет, находится ли курсор мыши над плиткой, на которую вашему персонажу разрешено идти. Если да, то над этой плиткой воспроизводится анимация маленькой окружности.
buildCharacter()
Эта функция вызывается из функции buildWorld(). Она создает объект, который хранит информацию о персонаже, который был создан, подключает клип персонажа из библиотеки и затем вызывает функцию positionCharacter() для размещения клипа над правильной плиткой. Ниже приведена эта функция:
1 function buildCharacter(path,name,x_cell,z_cell,type){
2 var clip =world