Changed ScaleX value of bitmap to a value less then 1 and can't flip bitmap

I have been trying to scale and flip characters walking on my project that are walking around. The original code had them walking but they were too big. I didn’t write this code. The characters are set up by matrices that control the size, the x and y coordinates and the animations in an attempt of doing blitting. So isntead of going in and changing all the values in the matrices (which I can’ seem to figure out), i decided to try and scale the bitmap that the images are eventually being draw on to. So I changed the scaleX value of the bitmap and now the models moonwalk instead of flipping.

When it initializes the bitmap I have:

[AS]BAKED_BITMAP.scaleX = 0.6;
BAKED_BITMAP.scaleY = 0.6;[/AS]

Then later it adds the bitmapData by doing this:

[AS] _currentFrame = (_currentFrame + 1) % animation.frames;
BAKED_BITMAP.bitmapData = _spriteSheet[_currentFrame];
BAKED_BITMAP.y = BLIT_HEIGHT - BAKED_BITMAP.height; // added this line to make the models touch the ground[/AS]

Then to flip it, it is doing this I didn’t write this part:

[AS]BAKED_BITMAP.scaleX *= -1;
BAKED_BITMAP.x = (BAKED_BITMAP.scaleX > 0) ? 0 : BLIT_WIDTH;[/AS]

Originally when they had it as scaleX = 1, the model would walk left, flip then walk right or vice versa. Now she will walk left not flip and walk right. or vice versa depending on the direction they start heading.

Someone please help. It is seems that using *= -1 to flip the model only works if the scaleX value is 1 or greater.

@henke37 I am only calling flip once, I checked and double checked with a breakpoint.

Lastly I want them to be interactive at the moment. I am willing to try the movieclip idea though.

Can you give me an example of what you were thinking?

Thanks I really appricate all the help!