Бита и блоки в трех измерениях
Вот еще два полезных фрагмента кода. Первый удаляет шар и биту. Если этого не сделать, они так и будут висеть, как в кадре "game over" так и в кадре "level over".
function rernoveBallAndPaddle() { paddle.removeMovieClip(); ball.removeMovieClip(); }Ну а следующая функция, removeBricks, удаляет блоки из этих же кадров. Вызывается при нажатии соответствующих кнопок.
function removeBricks() { for (var i = 0; i < bricks.length; i++) { bricks[i].removeMovieClip(); } }Первый кадр ролика – "start" – присваивает переменной gameLevel значение 1 и останавливает ролик.
gameLevel = 1; stop();Чтобы перейти к следующему кадру, надо нажать кнопку. Вот ее код.
on(press) { GotoAndStop("Play"); }Все функции, которые мы рассмотрели, находятся в кадре "Play". Еще там есть команда, вызывающая функцию initGame. Когда уровень пройден, игра переходит к кадру "level over". Так как клип "action" находится в другом кадре, то все шары автоматически останавливаются. При нажатии единственной в этом кадре кнопки все блоки удаляются, и функция initGame может расставить их заново при переходе на следующий уровень.
on(press) { removeBricks(); gotoAndStop("Play"); }При нажатии кнопки в кадре "game over" блоки тоже удаляются, но игра переходит к кадру "start".
on(press) { removeBricks(); gotoAndStop("Start"); }К сведению
Игра, в общем то, лишь приблизительно воспроизводит трехмерный мир. Например, когда мяч отлетает в угол, компонент скорости z меняется таким образом, что суммарный вектор скорости остается неизменным Вы можете попробовать спрятать курсор перед началом игры с помощью Mouse.hide (), только не забудьте вернуть его на место по окончании игры с помощью Mouse.show ().
Другие возможности
Очень простой способ внести дополнение в эту игру – поместить какой-либо рисунок за блоками. Это можно сделать вообще без использования ActionScript. Можно также сделать, чтобы в конце каждого уровня пользователь видел другую картинку.
