ActionScript 3.0 :: Scale Moveclip From Center Registration?
May 1, 2010
I am using a slider component to scale a movie clip. Currently it scales from the bottom right corner (I guess this is default). I would like the MC to scale out from the center.
Can I set the registration point of a MovieClip (or other Display Object) to its center upon creation in AS3? the following
[Code]...
sets the registration point of myClip to its top left corner by default. Using Flash CS4 to set it to its center is just a couple of clicks, so I am wondering how I can perform the same action only with code.
I coded an entire file based on the top left registration point of my movie clip. I want it rotate it to point at the cursor, but since the registration point isn't in the middle.. its not a perfect rotation around the center of the mc. Is there anyway to rotate it around the center of the movie clip without changing the registration point?
ActionScript Code: stage.addEventListener(Event.ENTER_FRAME, aimBall, false, 0, true); function aimBall(event:Event):void { ball_mc.rotation = getAngle(ball_mc.x, ball_mc.y, mouseX, mouseY) -90; trace(ball_mc.rotation); } function getAngle(x1:Number, y1:Number, x2:Number, y2:Number):Number { var radians:Number = Math.atan2(y1-y2, x1-x2); return rad2deg(radians); } function rad2deg(rad:Number):Number { return rad * (180/Math.PI); }
I'm trying to use Zoom transition for my photo Gallery which I'm using loadMovie "jpg" from Xml file.Now the problem is here. The Registration Point is set to the top upper left corner and I would like it to be in the center of my loadMovie.The Zoom transition only zoom from left corner and need to be center equal sides. How do I do this. My image size is "width 400px height 240px
I'm making a 3D room builder. The user places Sprites around the 2D stage and my script converts those Sprites to Papervision3D DisplayObject3D objects. I'm having problems with the 3D object positioning because Sprites have registration points at their top-left corner and 3D objects have registration points at their center. How can I make that conversion?ere's a scheme of how the 2 different coordinate systems work:
I've tried this code: child3D.x = child2D.x; child3D.z = child2D.y - child2D.y - child2D.y; // just to make it negative
I start with a question: how could I change the registration point of a movie clip created or loaded at runtime? I want to move the registration point from top/left to center.
I've been experimenting with senoculars transform tool for a while now. It's an awesome tool, I'm just having some issues getting it to do what I need it do. I think the problem is it does some really complex stuff but I really just needs some of the simpler features. I'm pretty close to just scrapping it and making a simpler one myself but I really don't want to do that.
My current issue is trying to get the registration point to always be the center of the object it's transforming. I was able to sort of do this by changing the line that creates the registration point to this: innerRegistration = new Point(_target.width>>1, _target.height>>1); but when the object is scaled the registration point gets messed up.
I'm trying to see if there's a way to change the registration point of a MovieClip that's importing an image dynamically?Here is my code where I add an image to an "overlayHolder":
What I need to do is rotate this image later on, upon interaction from someone, but need it to rotate with a center-registration.I've seen a bunch of tutorials/forums talk about centering a registration point when you're drawing a Sprite on the stage, but not when you're importing an image.
When you create shape on stage and right click and chose create object you can chose Registration point for the object you chose what corner will be used as center of coordinates for this object. Now onice you create object is there way to change this registration point e.g. i created it in center now i want to to be in upper left corner?
When you create shape on stage and right click and chose create object you can chose Registration point for the object
you chose what corner will be used as center of coordinates for this object. Now onice you create object is there way to change this registration point e.g. i created it in center now i want to to be in upper left corner?
I have a MC in an AS3 animation and I want to increase its height from bottom to top which would mean that the registration point should be bottom of the MC and center of width (horizontal center).
I want to learn how you can change the registration point for the Canvas.I want to make a zoom of this component, but the point registration in the upper left corner! How do I move to the center?
I want to learn how you can change the registration point for the Canvas. I want to make a zoom of this component, but the point registration in the upper left corner! How do I move to the center?
When you create shape on stage and right click and chose create object you can chose Registration point for the object..you chose what corner will be used as center of coordinates for this object. Now onice you create object is there way to change this registration point e.g. i created it in center now i want to to be in upper left corner?
I've been looking for a JSFL command that might do this, but haven't come across anything even remotely similar to what I'm trying to achieve. Perhaps there is another solution besides JSFL that someone might know of.Question: Is there a way that I can select multiple symbols (either in a single frame or across multiple frames) and apply a scale transform that will adhere to each symbol's registration point?
Scenario:In an animation sequence, a movieclip of a tall rectangle is tweened on the timeline using "classic" tween. There are 20keyframes, where the mc changes position and rotation.In a duplicate of that animation sequence, I want to change the height of all instances of the mc in the animation, but keep the position and rotation. The rectangle should stay a rectangle, only shorter.I go to a keyframe, select the mc, and enter the desired scale percentage for the height in the transform pane. Then I repeat this for the other 19 keyframes. Imagine the pain and suffering I go through when this is done for several sequences!
Ideally,I would want to use the "edit multiple frame" mode in the timeline, select all instances of the mc across all 20 keyframes, and apply the height transform to all mcs via JSFL or dark magic.Flash's default behavior transforms multiple objects as a group,so not only will it squash and shear the different mc instances(creating diamonds),it will also shrink the distances between the different positions(changing the path of the tweens).I'm looking for a way to apply the transform so that each instance scales to their own registration point,preserving their position and respective of their rotation.
I have created a movieclip with programming and added a image via xml loader. I am scaling it down using tweenlite. But it scales as if the registration point is on the top left of the image. Do you know how to change it so it scales from the center?
Each time the square is clicked it scales up a little. What must be added or changed to prevent it from moving off center from its original position, and to have it scale evenly in all directions from its own center?
i have a simple rectangle. i would like to scale it to 200 but the scaling always begins from top-left corner of the rectangle. how can i scale it from the center?
when i edit an objects z value in flash, the "scaling" is not centered, i want to emulate the same effect as center scaling x and y but using Z, how fo i do this?
I have an image inside a movie clip that a user can scale from its center using the slider....works great.However the use can also drag the movie clip.After the movie clip is dragged to a new location it and then scaled using the slider it jumps back to the center of the stage and then scales.I have tried modifying the x y of the movie clip but then the scale is no longer from the movie clip's center.
var clipNativeX = holder_mc.x; var clipNativeY = holder_mc.y; function scaleClip(val:int):void[code]......
how I could setup an Image so when it loads, and I change its Z value, it doesnt keep shifting in reference to the upper left. Right now, when I change the Z value of a Sprite containing the Image, it appears to move x, y (even though I know they are not changing). I thought that by putting it inside of a sprite, and then moving the image to so that its center was at 0,0 inside the sprite, that when I changed the z value of the sprite and not of the bitmap itself, it would fix my problem, but its not.
bmp = new Sprite(); var bmp1:Bitmap; loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, fileLoaded);
I am using AS2 and I'm looking for a way to scale an MC from the center meaning that the width will expand equally on both sides.For example .. If the movie clips needs to expand +10 then it would be +5 on the left and +5 on the right.So, in order to simulate the movie clip going forward the position on the left would offset -5 then scale.
basically just wondering if its possible to scale an MC about the center of the stage as opposed to the top left of the MC? I thought about setting the X & Y as stage width / 2 + MC width / 2 but cant as the user needs to be able to move the MC which is much bigger than the stage and zoom in on a point in the center rather than just the center of the MC.
I have a list of artist, each one a mc, in a vertical display. Next to them, I have a holder in which I load the thumbnails one the mouse is over a mc.This images, are being loaded via loadclip.. resize-center and then shown with alpha..But sometimes, the image are shown huge, and instantly resized and positioned.This a dvd project.. so images are not being downloaded..this is the part of the code..
I have had some help but still not understanding this.
How can I scale an object from center after it is dragged by the user?
Currently I have this: function onSliderChange(e:SliderEvent):void { scaleClip(slider.value); }
[Code]...
With this code the movieclip jumps back to the center of the stage each time I call the scaleClip() (move the slider). I would like the object to scale from it's own center regardless of where it is on the stage.
I've created an mc which functions as my map and controls to go with that which allow the map to be moved around and key points navigated to and zoomed in on at varying zoom levels.I'm using scaleX and scaleY to scale the map mc and a list of x and y positions to correctly position the map for each key point.When I want to go to a certain area I perform this calculation (offsetX and offsetY are the center of the screen):
Then I tween the position and scale of the map to smoothly scale and move the map to the correct position:
var tween = new TweenLite(_background, EASING_SPEED, {x:newX, y:newY,scaleX:scale.getScale(),scaleY:scale,ease:EASING_TYPE,onComplete:moveToComplete,onCompleteParams:[room]});
I now need to implement a zoom in / out function and this is what I'm struggling with. The zoom should use the center of the screen as the reg point for the scale, so I've been trying something along the lines of the following to get the correct positioning:
var newX = offsetX - (offsetX - _background.x) * scale; var newY = offsetY - (offsetY - _background.y) * scale;
So in my mind this gets the distance from the current position of the map relative to the center point of the screen (offsetX, offsetY) then scales that distance by the new scale. However, this is clearly wrong because it's not working and the positioning of the map is wrong.I've also tried using a transform matrix to get the correct values but I know even less about them and not got the right results.
function scale(target:MovieClip, center:Point, scale:Number):Point { var m:Matrix = new Matrix(); m.translate(-center.x, -center.y);//move the center into (0,0)
I'm trying to add some zooming functionality. The problem is that when you zoom in and out, it scales the MC up and down from where the registration point is. This means That when I'm far from the position of the registration point instead of zooming the in straight it also makes it appear as if you are travelling towards the registration point.
To offset this effect I want to calculate the amount of pixels I need to offset the Map by so that it appears as if you are zooming in directly.
So just as a test I've put a little ball inside the map(called "center") which I'm trying to keep in the center of the map.[code]...
I'm trying to make a text effect where on every frame the textfield increases in size and decreases in opacity. I'm using the scaleX and scaleY properties of my dynamic textfield to enlarge, but it's doing so keeping the left registration point fixed. I want to make it scale up radially outward, or with the center point fixed.