Change your angle to the "amount.value * 100 / 50", and you should be
good ...


private function doSlide( event:Event ):void {

     var distance:Number = amount.value * 100;
     var angle:Number = distance / 50;

     var rightMatrix:Matrix = new Matrix( 1, 0, 0, 1, 0, distance );
     rightImage.transform.matrix = rightMatrix;

     var leftMatrix:Matrix = new Matrix( 1, angle, 0, 1, 0, 0 );
     leftImage.transform.matrix = leftMatrix;
}



--- In flexcoders@yahoogroups.com, "tddclare" <[EMAIL PROTECTED]> wrote:
>
> I'm trying to skew an Image object to a varying amount, right down the
> center.  I'm using the example math that I found in the help and in
> examples online, but for some reason the math doesn't seem to be
working
> out.  A cookie for anyone who can help me figure it out.
>
> I published the sample of my problem here
> <http://www.pattyandtodd.com/files/flexexamples/matrixskew/Test.html>
> and the source is here
> <http://www.pattyandtodd.com/files/flexexamples/matrixskew/srcview/>
> ...
>
> The general gist is that I have the blue canvas (100x100), and am
> rendering both halves of it ( A and B ) (each 50x100) on the right:
>
> -----------     -----------
> |               |     |  A  |  B  |
> |               |     |       |       |
> -----------     -----------
>
> The slider sets how far the right half (B)  is translated down (or up)
> -- as a percentage of the height of B.  So a setting of 1 moves B down
> 100% of it's height.  The left half (A) should stay at its original
> position (working!), but it's right half should skew (down or up)
> (working!) to match the left edge of B.
>
> But the edges are not matching up.  My suspicions are that I'm messing
> up with radians, PI or something else I slept through in
Trigonometry...
>
> Could anyone shed some light as to what's missing?
>

Reply via email to