Flash AS2 - flipping object while maintaining center

Hello there,
I am into an interesting problem. I had to interrupt my progress in two games because of this.
I have these blocks (each one must be a MC with code inside). (+) Is the registration point of them. The red circle is the center where all blocks should flip around (using _xscale).
I know it flips around its center only if the registration point is in the center.
When I put _xscale*=-1, they flip, but like this.
I cant use x_scale=-100 and +100 because they stretch a transformed MC (e.g. a smaller size). And they dont flip in the same center as well. So a given enemy is walking in a given corridor. When it changes direction, they...become tiny as a paper or huge like the fattest thing of the world. I cant just reset the transformation because I use those enemies in different sizes according to levels. They can also be really tiny if shrunk by a gun.
I know I only have those variables to calculate horizontal distances in a movie clip:
- _x
- _width
I dont know how to calculate this space (I will call _xdistance).
I've searched through google and I've found a 'FlipHorizontal' code, but it involves a Matrix in AS3 only. http://www.actionscript.org/forums/show ... 3?t=215445
And this one only works for bitmaps http://board.flashkit.com/board/showthr ... ith-Matrix
Is there a way to do that in AS2?
I know its easier to put all of them in the middle because , when flipped, it does correctly without any further code. I also know that, putting the reg. point in the left corner (or right corner) only needs to sum up with _width when flipped, but those current registration point placements are required.
Thank you in advance.
I am into an interesting problem. I had to interrupt my progress in two games because of this.
I have these blocks (each one must be a MC with code inside). (+) Is the registration point of them. The red circle is the center where all blocks should flip around (using _xscale).
I know it flips around its center only if the registration point is in the center.
When I put _xscale*=-1, they flip, but like this.
I cant use x_scale=-100 and +100 because they stretch a transformed MC (e.g. a smaller size). And they dont flip in the same center as well. So a given enemy is walking in a given corridor. When it changes direction, they...become tiny as a paper or huge like the fattest thing of the world. I cant just reset the transformation because I use those enemies in different sizes according to levels. They can also be really tiny if shrunk by a gun.
I know I only have those variables to calculate horizontal distances in a movie clip:
- _x
- _width
I dont know how to calculate this space (I will call _xdistance).
I've searched through google and I've found a 'FlipHorizontal' code, but it involves a Matrix in AS3 only. http://www.actionscript.org/forums/show ... 3?t=215445
And this one only works for bitmaps http://board.flashkit.com/board/showthr ... ith-Matrix
Is there a way to do that in AS2?
I know its easier to put all of them in the middle because , when flipped, it does correctly without any further code. I also know that, putting the reg. point in the left corner (or right corner) only needs to sum up with _width when flipped, but those current registration point placements are required.
Thank you in advance.