Эффект сильного ветра в 2 кадра

07.11.2008, автор: Stormit, рубрики: Анимация

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

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

Таким же образом можно передавать и фоновую скорость, например, мелькание воздуха за иллюминаторами самолёта. Нужно ускорить персонажа? - Заставьте фон двигаться быстрее. Читать полностью »

22 Хитрых

Игровые баннеры тоже игры - презентация для FlashGamm в Киеве

29.10.2008, автор: Stormit, рубрики: Flash игры, Анимация, Игровые баннеры, Новости

Моя презентация на FlashGamm в Киеве.
Организаторы обещали выложить у себя на сайте видео, так что детально пересказывать нет смысла, остановлюсь на основных моментах:

Использование флэш-игр в рекламе

Основной смысл - как сделать из flash-игры рекламный продукт.

Читать полностью »

21 Хитрых

Добро всегда побеждает зло - игровой баннер

15.10.2008, автор: Stormit, рубрики: Анимация, Игровые баннеры, Новости

На днях был сделан игровой баннер для Доброблога. Идею долго выдумывать не пришлось - название блога говорит само за себя.

Теперь, чтобы перейти на сайт, нужно доказать свою доброту.
Кликаем мышкой!

Персонажей для баннера придумал и оживил (а точнее вывел из своих миров) - Никита Котов

42 Хитрых

Пиксельный поиск пути

29.09.2008, автор: Stormit, рубрики: ActionScript, Flash игры, Игровые баннеры

Это продолжение предыдущего поста о простом движке для flash-игр. Тогда, в самом конце возникла мысль уйти от метода hitTest() и перейти на пиксельный просчёт. И чтобы сравнить оба способа и выбрать лучший вариант, сделал небольшой визуальный тест.

Кстати, в тот раз я написал не совсем правильный код. Команда break не выводила процесс из вложенного цикла и бессмысленно терялось много процессорных ресурсов. Странно, но никто по этому поводу не отписался. Значит либо все “внимательно” читают и пробуют, либо верят на слово ;)
Этот баг я поправил. Дальше по слайдам: Читать полностью »

43 Хитрых

Простой движок для флэш-игр типа “Вид сверху”

22.09.2008, автор: Stormit, рубрики: ActionScript, Flash игры, Игровые баннеры

Давно я не писал новых статей. На то есть много причин, главные из которых - отпуск и новая флеш-игра (как найдётся спонсор, выставлю её на обозрение). Блог не умер и не собирался умирать, новые материалы будут публиковаться по мере появления свободного времени. Многие вещи у меня лежат в полуготовом состоянии и дорабатываются до состояния “интересно” - раньше выкладывать нет смысла.

Ближе к теме. Есть множество flash-игр, в которых пользователь видит уровень как-бы с высоты птичьего полета - сверху. Одна из основных задач, с которыми сталкивается разработчик в таких играх - программно организовать проходимые зоны и препятствия.

Возьмём для примера простой случай - лабиринт. Персонаж может перемещаться по коридорам, но не должен проходить сквозь стены. Эту задачу можно решить по-разному, но чаще всего я встречал такие решения:

  1. Блочное решение. Карта разбивается на кубики и у каждого стенки задаются как свойства “left”, “right”, “top” и “bottom”. Если объект вошёл в кубик, он свободно может по нему перемещаться. Перейти в соседний можно только если смежные грани не имеют стенок. Для оптимизации можно количество стенок уменьшить в 2 раза оставив только “left” и “top”. Две остальные сработают у соседних кубиков.
  2. Реализовать физический движок с нулевой гравитацией.

Все они имеют плюсы и минусы. И мой движок тоже. Предлагаю его вашему вниманию исключительно из-за дизайнерских плюсов, а именно - карта рисуется в виде картинки и не держится в уме как набор координат. Общая демка приведена ниже.

Большую часть работы выполняет старая добрая функция hitTest(). Для неё рисуется зона проходимости и персонаж может перемещаться только в её пределах. Если на карте есть горы, стены, водоёмы, дома - эти области просто не закрашиваются.

Пойдём от простого к сложному. Читать полностью »

37 Хитрых

Игровой баннер типа “Шутер”

07.08.2008, автор: Stormit, рубрики: ActionScript, Игровые баннеры

Недавно я говорил, что обзавелся собственным игровым баннером. Теперь хочу рассказать, как я делаю подобные штуки.

Некоторые приемы уже были описаны ранее в статьях. Из нового здесь только такое физическое явление, как гравитация (новое на сайте).  Можно было выкрутиться и сделать подпрыгивание бутылок анимацией, но мне захотелось внести больше разнообразия - пусть подпрыгивают на разную высоту, крутятся с разной скоростью, по разному в стороны разлетаются. Тем более, что сделать это программно совсем не сложно.

В нашем случае удобно хранить скорость в разложенном по осям виде. То есть не величина и угол поворота (как в управлении автомобилем), а в виде speedX и speedY. Далее каждую составляющую мы будем прибавлять к соответствующей координате (отрицательные значения смещают в другую сторону).

При равномерном движении можно просто прибавлять к координате число. Но введение понятия “Скорость” позволяет организовать замедление и ускорение.

Осталось разобраться с гравитацией. Это сила, которая с постоянной величиной действует вертикально вниз на все объекты (в программировании обычно на все незакрепленные объекты). То есть постоянно (по событию enterFrame) прибавляет какое-то значение к скорости (переменной speedY). Почему именно к скорости? Потому что к координатам применяется уже суммарный вектор всех сил (у нас пока только скорость и гравитация). Поэтому вначале применяем гравитацию к скорости, а потом скорость к координатам. Надеюсь, не намудрил.

Теперь по порядку: Читать полностью »

44 Хитрых

Сделал себе игровой баннер.

18.07.2008, автор: Stormit, рубрики: Игровые баннеры

Что это я все для кого-то и для кого-то? Как сапожник без сапог.
С заказчиками у меня договоренность не использовать их баннеры в личных целях, так что пришлось сделать себе новый.

Тема выбрана как наиболее ходовая для игровых баннеров - шутер. С идеей тоже долго не возился. С некоторых пор я “завязал” и не пью спиртное (и вообще пытаюсь вести здоровый образ жизни), так что для успешного прохождения игры, нужно расстреливать бутылки со спиртным, но оставлять невредимыми упаковки с соком. Набравший 100 очков переходит на “сайт с трезвым подходом к разработке флэш-игр“. Пока их не набьете, у вас ничего не выйдет. Получился он вот такой (300х250):


или такой,  поменьше (200х100):


Если кто-то имеет желание и возможность разместить их у себя на сайте, и тем самым помочь популяризации проекта, то ниже их можно скачать.

Download: BannersXitri  BannersXitri (48.8 KB, 526 hits)

Спасибо Мише Квакину, который уже это сделал.

P.S. Позже опишу как его сделать. Задавайте пока вопросы

26 Хитрых

Программная анимация и сферы её применения - UAFPUG 3 и как это было

01.07.2008, автор: Stormit, рубрики: ActionScript, Flash игры, Анимация, Игровые баннеры

Прошла суббота, а вместе с ней и UAFPUG 3, посвященный флэш-анимации.
Я был приятно удивлен теплым коллективом и не ожидал, что это будет так интересно.
Знакомство и общение с новыми людьми, красивый город и увлекательное after party сделали свое дело. Теперь буду посещать такие мероприятия чаще.

Отдельное спасибо скажу организаторам встречи - Лерике и всем остальным, кого я не знаю: все было просто супер! Просторный, прохладный зал с мягкими диванами, розыгрыш ценных и почетных призов, экскурсия по городу, fireshow - молодцы. Порадовали гости приехавшие специально для этого из России.

Я выступал вторым, между Колесником Александром и Акимовым Олегом. Когда подошла моя очередь, я разволновался и первое время мялся как школьник и сказал далеко не все что хотел. Потом как-то попустило и речь пошла более связная. Думаю, это придет с опытом.

Выкладываю свою презентацию, ниже можно и исходник скачать. Все хитрости подаются как готовое решение - эффект копируется в флеш-мультфильм путем copy/paste. Код не везде “чистый”, потому как некоторые вещи брал из работ которым более 2-х лет. К тому же возможен “левый код”, который нужен был для символов, которых здесь нет. Я об этом не сильно заботился, потому как решение выложить исходник было принято уже на самой презентации. Поэтому примите все как есть.

Сегодня Adobe Flash - это мощная программа, которая решает широкий спектр задач и создала несколько профессий – флэш-программисты, флэш-аниматоры и иллюстраторы. Веб-дизайнеры не отстают и тоже стремятся взять флэш на вооружение.
В связи с этим, люди, которые занимаются преимущественно анимацией, Actionscript-ом практически не пользуются, максимум – команды play(), stop(), gotoAndPlay(), gotoAndStop(). Программисты же, впадая в фанатизм, пытаются все сделать исключительно скриптами, а к твиннингу относятся с пренебрежением. Не все, конечно, но многие. Как в программировании, так и в простой анимации, есть свои преимущества и недостатки. И эффективней работать будет тот, кто использует преимущества обоих направлений.
Так как сегодняшняя тема посвящена анимации, то и доклад ориентирован в основном на флэш-аниматоров.

Как же может Actionscript помочь флэш-аниматору?
Я не буду касаться вопросов интерактива, так как без программирования там делать нечего. Наоборот, попробую подружить аниматоров со скриптами для создания простой линейной анимации, будь то мультфильм, клип, флэш-открытка или презентация. Дальше я буду говорить о решениях применительно к такому типу задач. Большей частью программная анимация пригодится для фона и объектов второго плана, т.к. главные действующие лица требуют уникальный и неповторяющийся набор действий.

Читать полностью »

18 Хитрых

Простое рисование во флэше

27.06.2008, автор: Stormit, рубрики: Flash игры, Игровые баннеры

Как-то попросили в комментариях рассказать о том как рисовать во флеше. Я по образованию не художник, поэтому как это делается “по науке” объяснить не смогу. Зато подскажу легкий и быстрый способ как рисовать фоновые изображения. Хотя таким способом нормально рисовать получается только природу - это тоже часто нужно.

Почти все сделаем при помощи одного flash-инструмента - Oval Tool (которым кружки рисуют). Все объекты будут состоять из набора кружков.

Думаю что по флэшке и так все понятно, но тем не менее распишу по кадрам. Читать полностью »

18 Хитрых

Пузырьковый метод

17.06.2008, автор: Stormit, рубрики: ActionScript, Анимация, Игровые баннеры

Это не метод сортировки массива, просто по своей сути он больше всего похож на то, как поднимаются пузырьки воздуха под водой. В готовом виде это символ, который дает непрерывный поток пузырьков. Дублируя и масштабируя этот набор можно получить вполне реальную картину подводного мира.

Но не только под водой можно таким образом показывать воздух. Иногда возникает необходимость показать воздух на суше. Непростая задача - он ведь прозрачный. Например есть игровой баннер, где летит воздушный шарик, а мы включая/выключая вентиляторы должны проводить его до конца экрана. Чем выше от вентилятора, тем меньше воздействие ветра. Чтобы добавить играбельности и лучше объяснить пользователю что и как, можно воспользоваться этим способом и наглядно показать пределы ветра. Для этого будем считать что воздух замусорен пылинками, ворсинками и т.д. В случае с нашими вентиляторами, они силой ветра поднимают осевшую на них пыль. Я просто придумал такие условия, но они помогают мне лучше передать картину происходящего.

Чтобы сделать такие пузырьки нужно: Читать полностью »

16 Хитрых