Set scaleX property on a Sprite without altering the child inside

Posted by grammar on Stack Overflow See other posts from Stack Overflow or by grammar
Published on 2010-03-25T20:29:03Z Indexed on 2010/03/25 20:33 UTC
Read the original article Hit count: 268

Filed under:
|

Is this possible?

My site is set up with next and prev buttons on the right and left sides respectively, and as you roll over either of the hit areas around the buttons a Sprite fades in which contains a TextField that describes the next page. Said Sprite calls the StartDrag() method, so it follows the mouse within the bounds, which is all fine and dandy on the left side of the page. Adobe, however, seems to have forgotten to put a way to dynamically alter the registration point of a Sprite, MC, whatever else, so when you roll over the right side of the page, the sprite is displayed from the top left and is mostly off the stage.

Trying to hack this problem I have tried numerous things ( classes written by others, other hacks) and the best that I have found is to use the scaleX method on the Sprite, changing the scale to -1. This, of course, makes the Sprite seem like it's reflected from its normal point, which means all its children show up backwards.

Is there anyway I can use this hack without it altering the text?

OR

Does anyone know a different way to go about displaying a Sprite from another corner? Any way to make a Sprite fade in and follow the mouse on the LEFT HAND side of the mouse pointer?

Thank you very much in advance.

Here is a snippet to give an idea of what's happening:

naxtPage.labelBG.scaleX = -1;
nextPage.labelBG.startDrag( true, nextHitRect );
nextPage.labelBG.x = nextPage.labelBG.parent.mouseX;
nextPage.labelBG.y = nextPage.labelBG.parent.mouseY;

Cheers

© Stack Overflow or respective owner

Related posts about flash

Related posts about actionscript-3