Форум 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 rotate в последний раз (http://www.flasher.ru/forum/showthread.php?t=80450)

G.W.M 29.05.2006 16:24

matrix rotate в последний раз
 
matrix rotate в последний раз ..:bb:
тут приведёон код кто-нибудь может мне объяснять
1) если объект не разворнут то почему trace выводить 65.68
2) использовать matrix (1,0,0,1,0,0) невозможна так как он возвращает объект к оригинальным размерам и я не могу вычислит высоту и ширину объекта перед тем как это праисходит
недостаточна использовать _width _height так как они не правильные и getBounds тоже не помогает.:(

код:

Код HTML:

import flash.geom.Matrix;
createRectangle = function (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;
};
var rectangleMc:MovieClip = createRectangle(120, 180, 0xFF0000);
// set Matrix rotate
trace(Math.acos(rectangleMc.transform.matrix.a)*180/Math.PI); // 0
//
var MyMatrix = rectangleMc.transform.matrix;
MyMatrix.a=0.411712646484375
MyMatrix.b=0
MyMatrix.c=0.0000879513099789619
MyMatrix.d=0.411712646484375
MyMatrix.tx=305.25
MyMatrix.ty=154.5
rectangleMc.transform.matrix = MyMatrix;

//
trace(Math.acos(rectangleMc.transform.matrix.a)*180/Math.PI); // 65.6875339302973


iNils 29.05.2006 19:05

Цитата:

1) если объект не разворнут то почему trace выводить 65.68
Потому что A отвечает не только за поворот, но и за маштабирование.

G.W.M 29.05.2006 22:30

так как же вычислит угол?


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

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