Olá,

Estou usando o flare (http://flare.prefuse.org/) para visualização de
dados e ele tem uma função de zoom onde não consigo fazer voltar para
o estado original com o metodo Matrix.identiy();

No flare, eu uso o metodo abaixo para aumentar ou diminuir o zoom:
Displays.zoomBy(_object, dz);

e zoomBy na real chama o metodo abaixo:
zoomMatrixBy(mat:Matrix, scale:Number, p:Point)

e na verdade, zoomMatrixBy usa o objt Matrix do ActionScript para
criar uma distorção em escala (dar o zoom)
http://livedocs.adobe.com/flash/9.0/main/00001857.html

Existe um metodo no AS  - myMatrix.identity();  - para retornar ao
valor original, porem eu nao consigo fazer funcionar...é como se a
matriz "mudasse"

Alguém que jah mexeu com matrix sabe me dar uma dica de como retornar
ao estado original?

==========

public static function zoomBy(obj:DisplayObject, scale:Number,
                        xp:Number=NaN, yp:Number=NaN, vp:IValueProxy=null):void
                {
                        var p:Point = getLocalPoint(obj, xp, yp);
                        var mat:Matrix = zoomMatrixBy(obj.transform.matrix, 
scale, p);
                        if (vp==null) obj.transform.matrix = mat;
                        else vp.setValue(obj, "transform.matrix", mat);
                }

public static function zoomMatrixBy(mat:Matrix, scale:Number,
p:Point):Matrix
                {
                        mat.translate(-p.x, -p.y);
                        mat.scale(scale, scale);
                        mat.translate(p.x, p.y);
                        return mat;
                }

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a