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

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



Если длина массива moving равна 0, то все шары останавливаются и ход завершается. Когда это происходит, вызывается moveDone(), который анализирует результаты ваших ударов и определяет, чей сейчас ход. Анализ времени выполнения кода Вы обратили внимание на две строки, закомментированные в нашем вышеприведенном коде ActionScript (строки 2 и 17)? Если снять комментарии, они распечатают значение времени в миллисекундах (ms), которое требуется для полного выполнения всех операторов в событии onEnterFrame. Приблизительно 24 раза в секунду в окно вывода output печатается новое число. Это одно из моих наиболее часто используемых средств, когда необходимо найти способы оптимизации игры. Я использую данный метод, когда пытаюсь найти самые медленные части скрипта. Я могу видеть числа, так как рамка разбита и шар-биток ставится как шар-в-руке, чтобы посмотреть, делаются ли вещи с разумной скоростью. Что считать разумной? Вы должны обратиться к вашему собственному опыту, чтобы ответить на этот вопрос. Но вот точка старта: мы работаем на 24 fps. В 1 секунде 1000 ms – приблизительно 41 ms в кадре. Если распечатываемое время для вашего события onEnterFrame больше 41 ms, то фильм не будет воспроизводиться не на полной скорости. Так что у вас возникло бы желание постараться придерживаться числа ниже 41. Я бы считал разумным иметь в некоторые моменты более 41 (такие как разбивание бильярда), не в среднем не подниматься выше 41. moveDone() Эта функция обрабатывает логику для определения, сохранился ли за вами ход или игра завершена. Когда вы ударяете по шару-битку, отслеживается несколько действий игры. Если вы сталкиваетесь сначала с правильным шаром, то correctFirstHit устанавливается в true. Если 9-шаров забиты в лузы, то nineBallSank устанавливается в true. Эти четыре булевых значения могут определить, сохраняется ли ваш ход или игра закончена. Если игра закончена, то этот скрипт также определит, кто победитель: 1 function moveDone(){ 2 roundPositions(); 3 flagStopped("yes"); 4 inPlay =false; 5 var loseTurn =false; 6 var gameOver =false; 7 var scratch =false; 8 if (nineBallSank &&!cueBallSank &&correctFirstHit){ 9 var gameOver =true; 10 }else if (nineBallSank &&(cueBallSank ||
Холодильная камера большая, решив, интернет магазин zanussi купить морозильную камеру в киеве.
Hosted by uCoz