English Version            Русская версия

 [ Разделы сервера ]  [ Карта сервера ]  [ Новости сервера ] [ Обратная связь ]



Если да, то мы воспроизводим звук вопля и позволяем событию onEnterFrame произвести падение. Также мы устанавливаем переменную iFell в true, а end в true. Строки 12-21 делают в точности то же, что и 2-11, но для другого персонажа. Если падает что-то отличающееся от персонажа, то youFell устанавливается в true, а end устанавливается в true. В любом случае воспроизводится звук падающей капли (строка 22), потому что падает плитка. Мы устанавливаем свойство exists в объекте, который представляет эту плитку в false. Мы делаем это таким образом, что если это место щелкнуть снова, персонаж не сможет туда идти. Затем мы присваиваем клипу плитки некоторые начальные переменные и назначаем функцию onEnterFrame, так чтобы она анимировала себя для имитации падения. Функция moveCharacter() использует переменные end, iFell и youFell для определения того, закончилась ли игра и кто победил. Ниже приведены возможные сочетания. Таблица 19.1 Кто победил? Установки экземпляра игры Событие Игрок 1 Игрок 2 Победитель Игрок 1 упал iFell=true youFell=true Игрок 2 Игрок 2 упал youFell=true iFell=true Игрок 1 Оба упали iFell=true, youFell=true iFell=true, youFell=true Neither checkTile() Эта функция вызывается из функции determineFall(), как видно выше. Она проверяет, должна ли упасть указанная плитка. 1 function checkTile(x,z){ 2 var ob =world.tiles [x ][z ]; 3 if (ob.exists){ 4 var ob1 =world.tiles [x-1 ][z ]; 5 var ob2 =world.tiles [x ][z+1 ]; 6 var ob3 =world.tiles [x+1 ][z ]; 7 var ob4 =world.tiles [x ][z-1 ]; 8 if (!ob1.exists &&!ob2.exists &&!ob3.exists && .!ob4.exists){ 9 fall(ob); 10 } 11 } 12 } Вначале мы устанавливаем ссылку на указанную плитку, названную ob. Если ob.exists равно true, то мы знаем, что плитка может упасть. Если ob.exists не равна true, то плитка уже упала или никогда не существовала в первоначальном расположении
Hosted by uCoz