Просмотр полной версии : узнат угал прекаторам абект разворнут с matrix
ест абекты на экране каторые разворнуты с matrix нужна развернут абект так штоб он был прямой тоест пад угом 0 ест функцыя rotate но ана добавляет кажды раз к углу при каторам он разворнут..
ASstudio
26.05.2006, 22:06
mc._rotation=0;
еслиб была так всо лехко я не спрашывал бы...
праблема имена втом што с matrix всо нетак проста ест функцыя myMatrix.rotate(radians);
но ана добавляет куже сушествуешему развароту.
функцыя _rotation = 0 ставит матрицу на начялные параметры тосет размеры skew всо это не сохраняетса..
если взят шырену и высату абекта ани не правелные так как были изминены с matrix кароче нужна абект вырвнет так же как это делает _rotation = 0 притом сохранит арегеналны размер
Давай исходник ну или хотя бы код которым всё это дело делается
World Architect
27.05.2006, 00:33
офигеть текст...
ASstudio
27.05.2006, 00:52
я вообще сначало подумал что это кто то из пап флеша прикалывается) По не похоже... Слишком сообщений много
import flash.geom.Matrix;
import flash.geom.Transform;
var rectangleMc:MovieClip = createRectangle(120, 180, 0xFF0000);
rectangleMc._x = 100;
rectangleMc._y = 100;
//
trace(rectangleMc._rotation) // равно 0
my_matrix = rectangleMc.transform.matrix;
my_matrix.rotate(0.5);
my_matrix.tx = 100;
my_matrix.ty = 100
rectangleMc.transform.matrix = my_matrix;
trace(rectangleMc._rotation) // равно 0
function createRectangle(width:Number, height:Number, color:Number):MovieClip {
var depth:Number = this.getNextHighestDepth();
var mc:MovieClip = this.createEmptyMovieClip("mc_" + depth, depth);
mc.beginFill(color);
mc.lineTo(0, height);
mc.lineTo(width, height);
mc.lineTo(width, 0);
mc.lineTo(0, 0);
return mc;
}
//-------------------------------------------------------
// как мне вычеслит на каком угле штоб развернут обратно
// rectangleMc._rotation = 0 невазможна так как щырена и высота
// возвращяютса к той што была перед манепулицыи
KUZEN ест сорсы толка там 1073 линий кода это free Transformer очен магучи вот толка с глюками и не даработаны на все 100 если интересно свяжыс по ICQ 102716660
Тут два варианта, либо создать переменную в которой сохранять угол поворота, но это не совсем удобно в случае если этих матриц будет много, а можно написать функцию которая будет считать угол обратно из матрицы (a, b, c, d) , я уж с института забыл нафиг как с этими матрицами работать, овт протрейси вот так и подумаю какой формулой можно вытащить от туда угол
import flash.geom.Matrix;
import flash.geom.Transform;
var rectangleMc:MovieClip = createRectangle(120, 180, 0xFF0000);
rectangleMc._x = 100;
rectangleMc._y = 100;
my_matrix = rectangleMc.transform.matrix;
trace(my_matrix);// Нулевой угол
my_matrix.rotate(0.5);
my_matrix.tx = 100;
my_matrix.ty = 100;
rectangleMc.transform.matrix = my_matrix;
trace(my_matrix);// Заданный угол
// равно 0
function createRectangle(width:Number, height:Number, color:Number):MovieClip {
var depth:Number = this.getNextHighestDepth();
var mc:MovieClip = this.createEmptyMovieClip("mc_"+depth, depth);
mc.beginFill(color);
mc.lineTo(0, height);
mc.lineTo(width, height);
mc.lineTo(width, 0);
mc.lineTo(0, 0);
return mc;
}
Если у тебя с матрицами всё в порядке, думаю проблем с формулой не возникнет
Я пока слабо представляю где это можно применить, поэтому был бы весьма благодарен, если бы ты поделился информацией о сфере применения данной технологии, лучше с примерчиками ...
Nox Noctis
27.05.2006, 03:39
я правдо петалса панят что ето значыт.
дажы скапировал тексыт и пасматрел.
нипонял ваще... :(
можыт ктота понел вчом насамом дели праблем?
можыт ктота понел вчом насамом дели праблем?
:)
Я вот тоже не понял. Он делает простой поворот и смещение, о какой деформации идет речь?
my_movieClip._rotation = angle
my_matrix.rotate(radians);
это 2 разные вещи... :bb:
если всотаки кто сможет кинут на экран абект развернут ево проста как ему хчетса а патом с matrix вычеслит ево угал разварота буду очен рад..
а исползуетса matrix очен харашо в системе для управления абектам юзерам напремую в флеше точна так же как это делаетса в macromedia flash editor с Free Trasformer Tool
вы говорите по английски? может стоит говрить на нем.
Nox Noctis
28.05.2006, 13:34
кажется, я понял о чем речь.
ответ тут:
http://flasher.ru/forum/showthread.php?p=538287&posted=1#post538287
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.