Как сделать 3D объект во Flash MX

Если вы занимаетесь созданием сайтов, Flash – технология, в которой необходимо хоть немного разбираться, даже если вам и не нравятся все эти созданные с ее помощью гламурные эффекты. Ни один анимированный gif-баннер, не сравнится с баннерами, сделанными во Flash. Взгляните хотя бы на сайт Билайна. Это по-настоящему удивительные и красивые вещи, а сделать подобное пока можно только во Flash. Один из наиболее интересных и необычных эффектов – вращение 3D объекта.

Как сделать такой эффект? Достаточно просто.

Сначала необходимо создать новый пустой MovieClip, и указать в качестве instanse - "obj".

3d Flash

Теперь в библиотеке объектов требуется создать новый клип с фигурой плоской формы, и добавить Motion Tween (чем больше фреймов будет в клипе, тем выше будет созданный 3D-объект). Размещать его в рабочей области документа при этом не нужно. Добавьте слой с надписью в последнем ключевом фрейме клипа.

Начальный фрейм клипа это дно, последний – верхушка. Формы ваш 3D-объект может быть любой: круглой, треугольной, продолговатой; может иметь пустоты и т.п. – поэкспериментируйте.

3d Action Script

Помимо этого, требуется разрешить доступ к символу из Action Script. Для этого в библиотеке следует отредактировать linkage объекта следующим образом:

Flash MX

Назовем его "cube", хотя, понятно, названия могут быть любыми. Главное - не забудьте потом изменить соответствующим образом код скрипта. Кстати, вот он:

var yscale = 100;
var speed = 3;
var dist = 1;
var slicecount;
function getsl(n)
{
var slice = obj.createEmptyMovieClip("slice" + n, n);
slice.attachMovie("cube", "sl", 0);
slice.sl.gotoAndStop(n + 1);
slice._y = -n * dist;
slice._yscale = yscale;
}
getsl(0);
slices = obj.slice0.sl._totalframes;
for(var i=1; i < slices; i++){getsl(i);}
obj.onEnterFrame = function()
{
for(var i=0; i < slices; i++){this["slice"+i].sl._rotation += speed;}
}

Добавьте слой "Actions" и поместите в него данный код. Если вы все сделали правильно, то должны увидеть вращающуюся 3D фигуру с текстовой надписью сверху.