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: 299
flash
|actionscript-3
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