Posts filed under 'draw'

Виртуальный конструктор снежинок

В качестве новогодней поздравительной открытки в этом году мне довелось создать чудо-конструктор на радость офисным работникам. Конструируем снежинки, распечатываем выкройку и режем-режем-режем! Ну или не режем, а пишем всяческие позравления и отправляем другу!

http://2009.dcafe.ru

А для самых непонятливых , сегодня утром, под звуки ремнота у соседей, с 28-го раза я записал аж целый видео-туториал :)

http://demo.dcafe.ru/decaflake/decaflake09_tutorial.swf

Ну и с грядущим всех праздником!

Popularity: 9% [?]

2 комментария декабря 23, 2008

Имитация изометрии.

Старый, но приятный трюк: анимация изометрического изображения.

Такая штуковина очень проста в изготовлении.
Надо только сообразить, что мувиклипы с двойным дном таят в себе скрытые возможности ))
Если к примеру клип, который вращается вокруг своей оси, поместить в клип, который сжат по вертикали (_yscale = 75) то мы получим имитацию вращения изометрического изображения.
А если несколько изображений положить друг на другом как блины – получится объемное изометрическое изображение которое можно крутить, как душе угодно )

Самое забавное в этом методе – это моделирование модели.
Делается это на таймлайне. 1 кадр – это дно, последний кадр – вершина нашей блинной скульптуры.
Вот, к примеру – как выглядит клип из которого нарезается приведенная выше анимация:


Алгоритм построения прост:

  1. Создать общий контейнер для всей фигуры;
  2. Создать в нем N пустых контейнеров(N=_totalframes клипа, составляющего фигуру) с _yscale = 75 (варируется) ;
  3. В пустой контейнер N аттачится клип-фигура и останавливается на кадре N+1;

А вот собственно совершенно простой код:

// на сцену нужно в нужном месте положить клип под именем holder
var distance:Number = 1; // дистанция между "кусками"
var speed:Number = 5; // скорость вращения
var scaleFactor:Number = 75; // масштабирование по Y
 
var slices:Number; //  количество кусков (определим позже)
 
// функция, создает контейнер для куска, и вставляет в него
// клип-фигуру с установкой нужного кадра.
// n = порядковый номер куска
function attachSlice(n:Number):Void
{
     var slice:MovieClip = holder.createEmptyMovieClip("slice"+n,n);
     // в библиотеке символ, из которого делим фигуру снабдить linkage=sculpture
     slice.attachMovie("sculpture","gfx",0);
     slice.gfx.gotoAndStop(n+1);
     slice._yscale = scaleFactor;
     slice._y = -n*distance;
}
 
// В начале, создадим первый кусок (дно) и заодно узнаем,
// сколько в нем кадров, чтобы установить значение slices
attachSlice(0);
slices = holder.slice0.gfx._totalframes;
 
// выкладываем все остальные куски
     for(var i=1; i < slices; i++)
{
attachSlice(i);
}
 
// вращение фигуры
// (тут можно определить и другое поведение - вращение от клавиатуры, мыши и т.д.)
holder.onEnterFrame = function():Void
{
     for(var i=0; i < slices; i++)
     {
          this["slice"+i].gfx._rotation += speed;
     }
}

Можно получить вполне грациозную табуретку

Или вот такое подобие сканирования человека ))

Popularity: 6% [?]

5 комментариев мая 15, 2008

Имитируем Blend Path.

Набор графических инструментов Flash скуден, как небезосновательно считает огромное число дизайнеров, привыкших к Corel, Illustrator и FireWorks.
Да скуден. Но нам дан таймлайн и мозг. Сегодня мы сымитируем известный эффект (даже не знаю как он правильно называется)) Вот такой.

Все это нарисовано исключительно на flash. Никаких импортов и копипейстов. Ни один редактор векторной графики, кроме Flash, использован не был.


1. Рисуем кривую с помощью PenTool (P).Рисуем аккуратно, чтобы не было ни одной лишней опорной точки.

2. Ставим ключевой кадр (в моем примере 20) и задаем между первым и последним Shape Tween (можно с easing для пущего эффекта).

3. Включаем режим OnionSkinOutlines, выделяем все 20 кадров и переходим на 20 кадр. Выбираем Subselection Tool (A) и начинаем двигать наши опорные точки. Преимущество метода на лицо – редактируя положение точек мы сразу видим конечный результат – это очень удобно. Если где то что то перекутили не так – сразу видно, что шейптвин сбивается.


4. Теперь Разбиваем анимацию на ключевые кадры. Включаем режим EditMultipleFrame, вырезаем всю графику (сначала выделить все control+A, потом вырезать cоntrоl+X), удаляем кадры анимации и вставляем вырезанное на место.

Можно было, кстати, к шейпу формы применить и шейп цвета. Но мы раскрасим нашу абстракцию по другому.

5. Положите под кривые полностью прозрачный прямоугольник и сконвертируйте все это в MovieClip. На панели PropertyInspector назначьте BlendMode = alpha.

6. Нарисуйте прямоугольник с потрясающей воображение градиентной заливкой и также сконвертируйте ее в MovieClip, но положите этот клип под клип с линиями.

7. Теперь выделите оба клипа – и снова – в муви клип. Этому мувиклипу задайте режим blend Mode = Layer (или любой другой режим, если хотите. В самой первой картинке статьи, к примеру, использован Add).

8. Вернувшись на сцену вы увидите результат. Осталось навести под этой красотой тематический восторг и вы – народный умелец, доказавший, что классические дизайнерские абстракции можно с легкостью творить и в Flash IDE.

Popularity: 15% [?]

4 комментария апреля 29, 2008




Метки

Категории

Ссылки

Фреш

МЕТА