Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   узнат угал прекаторам абект разворнут с matrix (http://www.flasher.ru/forum/showthread.php?t=80354)

G.W.M 26.05.2006 22:04

узнат угал прекаторам абект разворнут с matrix
 
ест абекты на экране каторые разворнуты с matrix нужна развернут абект так штоб он был прямой тоест пад угом 0 ест функцыя rotate но ана добавляет кажды раз к углу при каторам он разворнут..

ASstudio 26.05.2006 22:06

mc._rotation=0;

G.W.M 27.05.2006 00:13

еслиб была так всо лехко я не спрашывал бы...
праблема имена втом што с matrix всо нетак проста ест функцыя myMatrix.rotate(radians);
но ана добавляет куже сушествуешему развароту.
функцыя _rotation = 0 ставит матрицу на начялные параметры тосет размеры skew всо это не сохраняетса..
если взят шырену и высату абекта ани не правелные так как были изминены с matrix кароче нужна абект вырвнет так же как это делает _rotation = 0 притом сохранит арегеналны размер

KUZEN 27.05.2006 00:26

Давай исходник ну или хотя бы код которым всё это дело делается

World Architect 27.05.2006 00:33

офигеть текст...

ASstudio 27.05.2006 00:52

я вообще сначало подумал что это кто то из пап флеша прикалывается) По не похоже... Слишком сообщений много

G.W.M 27.05.2006 00:55

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 невазможна так как щырена и высота
// возвращяютса к той што была перед манепулицыи

G.W.M 27.05.2006 01:19

KUZEN ест сорсы толка там 1073 линий кода это free Transformer очен магучи вот толка с глюками и не даработаны на все 100 если интересно свяжыс по ICQ 102716660

KUZEN 27.05.2006 03:10

Тут два варианта, либо создать переменную в которой сохранять угол поворота, но это не совсем удобно в случае если этих матриц будет много, а можно написать функцию которая будет считать угол обратно из матрицы (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

я правдо петалса панят что ето значыт.
дажы скапировал тексыт и пасматрел.
нипонял ваще... :(

можыт ктота понел вчом насамом дели праблем?


Часовой пояс GMT +4, время: 15:53.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.