![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Здравствуйте Форумчание!
Здравствуйте shaltay! Есть еще один вариант помимо _rotation класса MovieClip - использование класса Matrix. Для этого Вы должны создать пять матриц: 1. матрица, определяющая мировую систему координат - mat_wrld; 2. матрица, определяющая радиус вращения - (mat_tmp и mat_wrld). 3. матрица, определяющая положение центра вращения - mat_translate. 4. матрица, определяющая угол вращения - mat_rotate. Далее после подготовки всех матриц и выполнения необходимых умножений (конкатинаций матриц) устанавливаете значение свойства объекта transform.matrix равным полученной матрице и объект трансформируется. Вот так выглядит код с использованием Matrix: import flash.geom.Matrix;
var mat_rotate:Matrix = new Matrix();// создаем матрицу вращения
var mat_translate:Matrix = new Matrix();// создаем матрицу смещения по осям, задающая положение центра вращения
var mat_wrld:Matrix = new Matrix();//создаем мировую матрицу
var mat_tmp:Matrix = new Matrix();//временная матрица, используемая для хранения первоначальной мировой матрицы
mat_tmp.translate(120,0);//Задаем смещение объекта относительно центра вращения - радиус вращения
mat_translate.translate(250,250);//Задаем положение центра вращения
var A :Number = 0; //Задаем начальный угол
this.onEnterFrame = function():Void
{
mat_wrld = mat_tmp.clone();//клонируем временную матрицу в мировую матрицу
angle_rad = A*Math.PI/180;//рассчитываем угол в радианах по градусам
mat_rotate.identity();//Очищаем матрицу вращения
mat_rotate.rotate(angle_rad);//задаем матрицу вращения
mat_wrld.concat(mat_rotate);//умножаем матрицы (конкатинация) мировую и вращения
mat_wrld.concat(mat_translate);//умножаем матрицы мировую и смещения
myClip.transform.matrix = mat_wrld;//трансформируем объект myClip
A = A+1;//увеличиваем угол
__________________
Случайность, господа, это знаете ли непознанная необходимость. Последний раз редактировалось Alex_beginner; 07.07.2008 в 16:20. |
|
|||||
|
Регистрация: Jan 2008
Адрес: Земля
Сообщений: 178
|
Выберите таймфрейс вашего мувика ("зайдите" в свой клип), выделите всё содержимое, сгруппируйте его. А потом нажмите "Align horisontal center" и "Align vertical center" (это там, справа, панелька "Align&Info&Transform"), и не забудьте включить кнопку "To Stage:" .
|
|
|||||
|
о! сэнькс, мне тоже помогло (похожая задачка с пропеллером была)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 19:56. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|