Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #64, МАРТ 2006 г.

как закалялся flash

СЕРГЕЙ ПОДБЕРЕСКИЙ

Спецвыпуск: Хакер, номер #064, стр. 064-090-2


Однако трех фаз оказалось слишком мало, движения персонажа оказались чересчур резкими, так что пришлось добавить еще две фазы (итого десять картинок для каждого персонажа). Кстати, несмотря на то, что увеличение количества картинок с фазами обеспечивает достойную плавность и красоту, оно же приводит к увеличению затрат времени работы аниматора и размера конечного файла. Так что тут, как и во многом в жизни :), нужно искать золотую середину. Кстати, профессиональные аниматоры знают много трюков по достижению достойной плавности движения с упрощенной анимацией. Мы же двигались методом проб и ошибок. Андрей Мацко занимался анимацией персонажей, и уже когда наш первый персонаж делал свои первые шаги, мы поняли, что анимация будет сложнее, чем ожидалось. Работы над персонажами начались рано, так как мне не хотелось долго пользоваться временной заменой (куб подходящего размера) — нужно было определиться с размерами, скоростью анимации ходьбы и т.д.

В нашем проекте картинки анимации персонажа организованы по кадрам и слоям. Кроме простого кода передвижения, было добавлено пару строк для реагирования на клавиатуру. Еще несколько десятков строк — и персонаж начал двигаться, отвечая на команды. Хотя к тому моменту он еще не попадал точно в квадраты, выходил за карту и плохо реагировал на резкую смену направления, было приятно видеть первые визуальные результаты.

Я не буду описывать технические детали создания изометрического движка и сейчас объясню почему. Во-первых, в интернете накопилось очень много информации на эту тему. Для примера www.kirupa.com/developer/actionscript/isometric_transforms.htm — очень хорошая серия уроков на эту тему. Во-вторых, технологии не стоят на месте, actionscript изменился, изменился и сам Flash. Кое-что я бы изменил, что-то поменял бы совсем. Не стоит повторять мои ошибки, пусть каждый делает как ему легче и понятнее. Главное — чтобы работало хорошо. Кроме того, этот текст не о actionscript'e, а о процессе создания игры в целом.

развитие проекта. создание игры

После нескольких экспериментов я решил перейти к организации самой игры. У нас было время обдумать общую структуру и то, как все части будут взаимодействовать друг с другом, чтобы потом не пришлось менять что-то в корне (хотя абсолютной гарантии, конечно, никто нам не давал).

На этом этапе я создал два основных actionscript-класса: класс персонажа и класс карты. И вот настало время работать над взаимодействием этих классов, вскоре анимация была налажена: персонаж двигался ровно по квадратам, в границах карты и хорошо реагировал на команды. Итак, мы уже создали персонажей. Но что они могут без мебели? :) Тут оказалось чуть больше работы. Нужно было расставить мебель в правильном порядке перекрывания (z-order), что оказалось довольно просто, поэтому была использована структура массивов. Правда, мебель у нас занимала больше одного квадрата, а точнее, до двух квадратов ширины/длины.

Назад на стр. 064-090-1  Содержание  Вперед на стр. 064-090-3