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 -~----------~----~----~----~------~----~------~--~---
