SNOWFLAKES DRAWING PAPER

[FLEX] DisplayObject Matrix Control 본문

개발/FLEX/AS3/AIR/BlazeDS

[FLEX] DisplayObject Matrix Control

눈송2 2008. 10. 1. 09:08








DisplayObjectPosition.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
    <mx:Script>
        <![CDATA[
            import flash.events.Event;
            import mx.controls.Image;
            [Embed(source='s_air.jpg')]
            private var airimg:Class;
            
            private var _matrix:Matrix;
            private function init():void{
                img.source = airimg;
                hs1.value = 1;
                hs2.value = -.3;
                hs3.value = .05;
                hs4.value = 1;
                
                _matrix = imgbx.transform.matrix;
                
                //imgbx.verticalScrollPolicy = "on";
                //imgbx.horizontalScrollPolicy = "on";
                
                imgbx.transform.matrix = new Matrix(
                                            hs1.value,
                                            hs2.value,
                                            hs3.value,
                                            hs4.value,
                                            _matrix.tx,
                                            _matrix.ty);
            }
            private function matrixChange(evt:Event):void
            {
                imgbx.transform.matrix = new Matrix(
                                            hs1.value,
                                            hs2.value,
                                            hs3.value,
                                            hs4.value,
                                            _matrix.tx,
                                            _matrix.ty);
            }
        ]]>
    </mx:Script>
    <mx:Box id="imgbx" x="300" y="100" width="200" height="200">
        <mx:Image id="img" scaleX="2" scaleY="2"/>
    </mx:Box>
    <mx:Box id="bx" bottom="10" left="10" width="300">
        <mx:Label text="tranform.matrix.a"/>
        <mx:HSlider id="hs1" minimum="-1" maximum="1" tickInterval="0.01" change="matrixChange(event)" width="100%"/>
        <mx:Label text="tranform.matrix.b"/>
        <mx:HSlider id="hs2" minimum="-1" maximum="1" tickInterval="0.01" change="matrixChange(event)" width="100%"/>
        <mx:Label text="tranform.matrix.c"/>
        <mx:HSlider id="hs3" minimum="-1" maximum="1" tickInterval="0.01" change="matrixChange(event)" width="100%"/>
        <mx:Label text="tranform.matrix.d"/>
        <mx:HSlider id="hs4" minimum="-1" maximum="1" tickInterval="0.01" change="matrixChange(event)" width="100%"/>
    </mx:Box>
</mx:Application>


Comments