Это добавляет очень простой и полезный эффект для объекта, передвигающегося в 3D среде. Снова ссылаясь на игру Минигольф от Electrotank, вы можете увидеть как полезно нечто подобное в такой игре. Это особенно заметно, когда шар пролетает над наклонной плоскостью. Вы можете видеть тень, движущуюся вниз по наклонной плоскости, в то время как шар летит в воздухе.
Теперь мы подошли к функции с названием changeY(). Как вы можете предположить, эта функция изменяет y-координату шара. Она вызывается, когда нажимается любая из двух кнопок в правом нижнем углу экрана.
1 function changeY(num){
2 ball.y +=num;
3 if (ball.y>0){
4 ball.y =0;
5 }
6 }
Когда эта функция вызывается, координата шара y увеличивается на значение переданного в функцию параметра. Если координата y получается ниже пола, то мы устанавливаем ее равной значению пола. Так что шар не может пройти через пол.
Наконец, мы доходим до события onEnterFrame:
1 _root.onEnterFrame =function(){
2 captureKeys();
3 placeBall();
4 ignoreMe();
5 };
Это событие вызывает captureKeys() и placeBall() в каждом кадре. Не обращайте внимания на функцию ignoreMe() – она лишь помогает отображать координаты на экране для вас, когда вы тестируете файл.
Это все! Вы встали на путь к созданию изометрического мира. Лучше всего делать ваш изометрический мир построенным из плиток. Вы увидите пример этого в заключительной части этой главы.
Посмотрите премиальный файл position_with_gravity.fla в папке Chapter08 на CD. Он похож на файл position.fla; главное отличие состоит в том, что он имеет гравитацию, так что шар может подпрыгивать в изометрическом мире.
Сортировка по Z
Мы наталкивались на концепцию z-сортировки уже несколько раз в этой главе, и сейчас мы можем, наконец, рассмотреть ее в деталях. Еще раз, z-сортировка является термином, используемым для описания создания порядка размещения клипов. Если два клипа перекрываются, они, конечно, не могут быть оба сверху