Мы также добавим некое обнаружение столкновений, чтобы гарантировать, что персонаж не пройдет через плитку, которая содержит объект.
Разрушение простого мира
Вы уже изучили геометрию и тригонометрию, необходимую для понимания ориентации изометрической системы относительно системы Flash и как обрабатывать z-сортировку в изометрическом мире. С этими знаниями за вашим поясом настало время начать думать о более веселом материале, вроде самого изометрического мира. В этом разделе мы препарируем файл, который содержит персонажа, и посмотрим, как персонаж взаимодействует со средой.
Откройте файл iso_world.swf из папки Chapter08 на CD. Вы быстро поймете, что этот файл выглядит почти так же как файл depth.fla, который мы использовали в предыдущем разделе. Единственное косметическое отличие в том, что вместо шара вы будете перемещать персонаж. В этом фильме вы можете нажать на плитку в любом месте, и персонаж начнет движение к той точке, где вы сделали клик. Вы увидите, что плитка может быть травяной или бетонной, и может быть как пустой, так и содержать растение или блок. Персонаж не может пройти через объект, и будет останавливаться, когда со следующим шагом будет столкновение.
Теперь откройте файл iso_world.fla в той же папке. Здесь вы увидите, что не только файл выглядит похожим визуально, но и основная часть кода ActionScript также одинакова. Прежде чем говорить о коде ActionScript, давайте посмотрим на клип самого персонажа. Откройте библиотеку и дважды кликните на персонаже.
Обратите внимание, что в этой шкале времени есть 16 кадров с метками. Художник, который создал этого персонажа, создал его с восемью различными ракурсами. Для каждого из восьми углов существует статичная поза и анимация походки (называемая циклом походки). Статичная поза для первого угла в кадре с меткой stand1, и соответствующего цикла походки в walk1. В SWF, когда вы нажимаете где-нибудь на плитке, вычисляется угол, образуемый вашим курсором мыши и персонажем (в изометрическом мире, не в системе Flash)