Concatenation is just a matrix multiplication:

http://developer.apple.com/documentation/graphicsimaging/Conceptual/drawingwithquartz2d/dq_affine/dq_affine.html#/ /apple_ref/doc/uid/TP30001066-CH204-CJBECIAD

So yes, you can do that.

It's just a matter of taste, but I would write it like that instead:

CGAffineTransform transform = CGAffineTransformMakeScale(1.5, 1.5);
transform = CGAffineTransformRotate(transform, 3.14);
transform = CGAffineTransformTranslate(transform, 100, 50);

square.transform = transform;


Le 17 juin 09 à 11:37, Chunk 1978 a écrit :

CGAffineTransformConcat() only allow for 2 arguments.  so in the case
where i have 3 transforms, i had to concatenate the first 2 to make
"Group1", and then concatenate that with the final transform:

-=-=-=-
        //Animation Block
        [UIView beginAnimations:nil context:NULL];
        [UIView setAnimationDuration:.5];
        [UIView setAnimationDelegate:self];
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

        CGAffineTransform enlarge = CGAffineTransformMakeScale(1.5, 1.5);
        CGAffineTransform rotate = CGAffineTransformMakeRotation(3.14);
        
        CGAffineTransform group1 = CGAffineTransformConcat(enlarge, rotate);
        CGAffineTransform move = CGAffineTransformMakeTranslation(100, 50);
        
        square.transform = CGAffineTransformConcat(group1, move);
        
        [UIView commitAnimations];
-=-=-=-

it seems to work find, but is this the most ideal way of doing this?




On Wed, Jun 17, 2009 at 5:21 AM, Chunk 1978<chunk1...@gmail.com> wrote:
thanks!  :)

On Wed, Jun 17, 2009 at 5:05 AM, Jean-Daniel
Dupas<devli...@shadowlab.org> wrote:

Le 17 juin 09 à 10:53, Chunk 1978 a écrit :

is have this animation block with both Enlarge and Rotate, but only
one work properly (the last one listed).  what is the proper way to
group the two transforms together:

-=-=-=-
       //Animation Block
       [UIView beginAnimations:nil context:NULL];
       [UIView setAnimationDuration:1.0];
       [UIView setAnimationDelegate:self];
       [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

CGAffineTransform enlarge = CGAffineTransformMakeScale(1.5, 1.5); CGAffineTransform rotate = CGAffineTransformMakeRotation(3.14 / 2);

       square.transform = enlarge;
       square.transform = rotate;

       [UIView commitAnimations];
-=-=-=-


You should concat your transformations, not make two.

CGAffineTransform trans = CGAffineTransformMakeScale(1.5, 1.5);
       trans = CGAffineTransformRotate(trans, 3.14 / 2);

or in your sample above:
       square.transform  = CGAffineTransformConcat(enlarge, rotate);



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/devlists%40shadowlab.org

This email sent to devli...@shadowlab.org


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to