ActionScript 3.0 :: Drag & Rotate Movieclip From Centre?
Jan 5, 2012
I'm trying to drag & rotate a planet so it spins around with the mouse -instance name: PlayerThe code works really well but it doesn't seem to rotate around the centre, instead it rotates from the top left corner.I'm quite a noob at as3 so I'm not quite sure where I've gone wrong with my code to be able to fix this. Do I need to specify the dimensions of the stage or the planet? I have altered the Stage from the the default 550 x 400 (if this could be the problem).
Basically what I am trying to do is have my movie clip rotate/pivot when I press on it, same as the arm on the record player of this [URL]. At the moment, the movie clip rotates according to mouse follow, but I would like to click, drag and rotate so it pivots from one point.
Code: const TO_DEGREE:Number = 180/Math.PI; addEventListener(Event.ENTER_FRAME, rotateObject); var maxRotSpeed:Number = 5; var rotScale:Number = 0.2; function rotateObject(e:Event):void { [Code] .....
Im building a game, where the user has several images as movieclips. He can drag them to an area of the stage, and selecting them, he could rotate it. Does anybody knows some tutorials on hoe to start?
I have a round movieclip ( like a ring or clock ) and i want to press and drag it to rotate it around it's center ( AS3 ). I tried hundreds of ways but none of them works perfectly. I think i miss something in trigonometry and flash's rotation concept.
Is it possible to rotate movieclip, while dragging, according to mouse direction and mouse x, y on that clip.
on the picture the 0, 0 of the mc containing red box is where the lines cross, the mouse point is indicated with cursor and around it is the circle where clip's x and y should be constrained and movieclip should rotate according to mouse movement direction for example: when mouse is moving straight down then the clip's x, y rotates up and stops when its 12 o'clock...
I'm trying to get my new character system working with my fairly simple physics system. I have code at the bottom of the page which demonstrates my collision function. The most important line, which I've bolded, is:
I wrote this myself, all logic dictates that it should work. We start with the position of the centre of the block. We add half of it's height, to reach the top surface of the block. And then we add half the avatar's height, which should give the exact point to put him at so that his feet touch the top of the block. This code should be able to account for any arbitrary heights of block or avatar. But it's not working, my avatar is stuck just a little bit inside the block.As far as I'm aware, my math is perfect. So the only source of the problem I can think of is in the objects themselves. I'm not fully sure what the registration point is - logic would dictate that it's the recognised root point of the object, and when I tell an object to go to a coordinate, I would guess it's moved so that point rests exactly on the coords.I'm not entirely sure how to change it though.When I look at my movieclip in edit mode, it look like this.
The image has been downscaled so it's tricky to see the details, but I want to draw attention to the fact that there's three points of interest on it. Around the middle of the bounding box is a white circle,I think that's the registration point. A bit above that, on the figure's upper torso, is a crosshair. And to the topleft of the bounding box, just outside of it, is a second crosshair.What's also interesting is that when I deselect the movieclip, the white circle and the second crosshair (outside the BB) vanish. But the one on his chest stays put.If I move the movieclip, all three of the above things go with it. I can select the circle and drag it around, but not the crosshairs.my collision code:
Code: //if main hits a block, then stop jumping //this loop will check a hit test with any block for(var i:int = 0;i < world.blockHolder.numChildren; i++)[code]............
I am having problems with this Flash movie of an draggable, rotatable XML blog. I have got the XML stuff working OK. I'm just having problems making the drag-to-rotate thing work. I want it to be able to be moved around the page like a piece of paper and rotated such.
I have an object I need to rotate by clicking and dragging. Following some AS2 code I got the object to rotate a bit every time the mouse is clicked, but can't get it to work with drag.
needle.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag_2); stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop_2); function fl_ClickToDrag_2(event:MouseEvent):void
I posted a question regarding how to make a ladybug move around the screen and I managed to make a class that loaded a ladybug png then using a timer moves the bug around the screen... but I have a huge problem...this has been bugging me all day and cannot find a solution... The ladybug moves around the screen but rotates towards the moving direction before moving. The problem is that the ladybug is rotating at 0,0 axis and not at the centre of the movieClip. Is there a way to offset the registration point so that the ladybug rotates centred?
I am trying to create a drag and throw effect I have most of the effect working correctly but I am wondering how to only move one item at a time and have that thrown unaffected til the friction brings the item to a stop. what happens currently is if an mc is moving and you select another it moves both items.
Code: var mx0; // Previous Mouse X Position var my0; // Previous Mouse Y Position var velocityX = 0; // Velocity in X Direction[code]...................
Would like to develop simple (in browser) puzzle games where shapes (such as a puzzle piece shape) can be simultaneously dragged and rotated, then dropped on the screen or canvas. The game mode would be to click and drag the shape or object, while simultaneously rotating the piece using arrow keys Is this possible in Flash? This simple general activity of simultaneous drag and rotate, then drop, is my intended overallweb site game basis. I'm new to Flash but have developed Windows executables for many years. I'm trying to decide whether to purchase and learn Flash as platform for interactive educational puzzle games running in browser windows.
I've recently downloaded a great gallery from FFILES.COM. Here's the link: [URL]
I want to add in a menu bar at the bottom of the gallery. Meaning to say, all the photos that load up from the XML will be behind the menu bar. I tried with creating a new layer on top of every other things (inserted a rectangle box for testing), but the photos for the gallery comes infront of my rectangle box.
Been working on this for days and can't quite get it. Place a standard playing card or something similar on your desk in front of you. Lightly press your finger onto a random point on that card and drag it around your desk. See how it rotates towards the direction you are moving and such? I want to simulate that behavior.
i have some script that creates a rotating video wall/carousel effect that rotates left and right depending on where the mouse is.I want the carousel to only rotate when the mouse is down and dragging - but just can't seem to work out what i need to change.how do I define the drag action instead of the current +x & -x co-ordinates?here is the full script for the entire carousel
I want to add in a menu bar at the bottom of the gallery. Meaning to say, all the photos that load up from the XML will be behind the menu bar. I tried with creating a new layer on top of every other things (inserted a rectangle box for testing), but the photos for the gallery comes infront of my rectangle box.
I'm trying to create a script that would imitate an old rotary phone dial. I have this script, but need it to function on MOUSE_DOWN:
Code: handle.addEventListener(MouseEvent.ENTER_FRAME, startRotate); function startRotate(e:Event):void { var dx:Number=mouseX-handle.x; var dy:Number=mouseY-handle.y; // presupposes position of object to be facing to the right. var radians:Number=Math.atan2(dy,dx); handle.rotation=radians*180/Math.PI; var hR:Number = Math.round(handle.rotation); rotationA.text = String(hR); }
Changing the event handler doesn't work. Somehow the MouseDown function should be working like an EnterFrame event, I guess. The condition I want to check is whether or not the handle is at a certain degree angle to stop the dial from rotating. if (handle.rotation >= 30) { handle.rotation = ?; } Not sure what I need to put in there to stop it from rotating.
I am stuck at the mo trying to create an interactive clock. I have got it to do everything, I would like the user to be able to drag and rotate the clocks hands clockwise 360 degrees.. ive got the hands to rotate by themselves what do i need to do?
I'm trying to create a navigation system that relies on the user dragging on a wheel in order to rotate it into a specific position: [URL]. The problem I have is that whenever a drag is initiated, the wheel jumps to a position where it points the zero-rotation point (indicated in the example by the red dashline) at the mouse direction. Whenever the drag is ended, the wheel stays at the position where the mouse has left it, which is correct.
However, when another drag is initiated, the same thing reoccurs - the dashed red line jumps to point towards the direction of the mouse. In short, I need the wheel to drag/rotate directly from the position where it was previously left or where it is by default. It shouldn't matter from which position the user drags the wheel. The code is located in the script of the wheel-movieClip, and is as follows:
Code: onClipEvent (enterFrame){ this.onPress = function(){ // when the mouse presses on the wheel this.onMouseMove = function(){ // get an angle to the mouse using atan2 (gets radians) var angle = Math.atan2(this._parent._ymouse-this._y,this._parent._xmouse-this._x); [Code] .....
How to implement it so that the wheel rotation is independent from the position of mouse, while it is dragged.
I'm trying to create a navigation system that relies on the user dragging on a wheel in order to rotate it into a specific position:
[URL]
The problem I have is that whenever a drag is initiated, the wheel jumps to a position where it points the zero-rotation point (indicated in the example by the red dashline) at the mouse direction. Whenever the drag is ended, the wheel stays at the position where the mouse has left it, which is correct. However, when another drag is initiated, the same thing reoccurs - the dashed red line jumps to point towards the direction of the mouse. In short, I need the wheel to drag/rotate directly from the position where it was previously left or where it is by default. It shouldn't matter from which position the user drags the wheel.
The code is located in the script of the wheel-movieClip, and is as follows:
ActionScript Code: onClipEvent (enterFrame){ this.onPress = function(){ // when the mouse presses on the wheel
[code]....
I can see how lacking the code is, and I can see why it does what it does. I just can't figure out how to implement it so that the wheel rotation is independent from the position of mouse, while it is dragged.
I have built this, drag the various dots.[URL]...%20parent.html I did not use the flash startDrag because it had all sorts of issues. I wanted the dots to be restricted to the stage when dragged. That is any dot CAN leave the stage when it is not the one being dragged. For example make the kite big and drag the red dot, the blue dots are free to leave the stage (marked by outline in the online example) The code I have uses mousemove, and some globalToLocal conversion to keep the dots from leaving the stage area All was well so far.
Now I find out the kite has to be able to rotate! when I simply rotate the kite all of my dragging rules break down. Click the big blue button, each click rotates the kite 5 degrees. Looks OK at first, rotate 30 or 40 degrees and everything breaks down. I know its the globalToLocal limiting, is there a better way? Seems people here have a lot of experience with dragging and rotating in flash. Does anyone see a way to fix what happens, or a whole new way to do the drag.
I have this problem...no worries it is only about ActionScript! I have created two movieclips: one is called "sun_mc" (with a nice smile) and a ring of sunrays (short and long ones) called "ring_mc".the ring is situated around the sun.
The user clicks the sun and drags to rotate it.The user can click the ring to rotate that too.When the sun is rotating...the ring should not be...and vice versa.
I have three problems...
1) I can't get the two mc's to move independently 2) When rotating the mouse position always jumps to a certain point on the movieclip...not the point where you clicked it first 3) The ring is also rotating when the mouse is outside the ring...
What should I do?I tried to obscure a part of the ring_mc with some masking...That didn't work.Should I try hitTest? And how should I do that? That only works with squares doesn't it?
now my problems. 1) without the doubleclicking, i need to click once on the movie clip to "activate" it or something, and then click again to drag it. shouldn't it work right away on the onPress event? and 2) i would like to add some doubleclick functionality, but when i try and add a double click, i can trace it, but if i try to do anything with it, the doubleclick functionality seems to be overridden by two single clicks ... logically, because i didn't check for the doubleclick at all in the drag script. i'm not sure where i should add the doubleclick stuff... i've tried putting it a few different places and either i get two single clicks, or my scope is way wrong and i wreck the drag stuff.
I need to rotate a drag and drop object 360 degrees. I've got the drag and drop working fine, but I could only figure out how to rotate it 4 times using the set property and arrow keys on the key board. Is there another action I can use to rotate it 8 times at 45 degree angles, or will I have to use the go to action and make 8 frames for the object? I would like to be able to rotate it by pressing just one key on the key board.
I am learning AS3 and trying to get an object to be able to move / rotate / scale and drag and drop. I found 2 seperate tutorials one does button clicks to move and rotate code.[code]When I add the second lot of code to the first app (ie add a layer and insert the script ) change myPoint to rocket . I get the following errors:'{' expected
My project is to allow web visitors drag furniture onto a floor plan. I need the items to all be independent of each other with the drag and drop and then be able to rotate each item with a keyboard arrow.
The code I have allows all to drag and drop but I can only get the code to rotate one item. My Action Script 3 code follows:
I have a function that states when movieclip1 is dragged and hits a line then it stops the drag, however it seems to stop the entire drag function in the swf on the other movieclips even though they arent called in the function.[code]