ActionScript 3.0 :: Rotated Dragging On Mousedown And Move Example
Aug 19, 2010
Here attached a simplified, reduced flash file as an example of my earlier problem. With some trial and error I changed the function rotation2. I changed (180/Math.PI) to (45/Math.PI) to get the mc_arm into the half circle, but it just moves a bit in the middle of the circle when you grab and drag it. How can you optimize this behaviour, so that the arm really follows the mouse on mouse down and move, within the borders of that half circle? The formula must be changed somehow, but I don't know how.
this math isn't working well. I'm using it for a rotated drag and drop (of a tone arm on a vinyl, a kind of abstract turntable simulation). Right now it just moves a bit in the middle of the vinyl (values between 21 and 36, is this degree or what unit is this?), but it should move between the two edges. The problem is that I don't know enough about trigonometry functions. Therefore I can't optimize the math for envisaged behaviour. Does anybody have an idea/tip how I can get a bit more control on the math and its effect? (maybe with more trace functions)
I have an oversized moveclip which i will place on the stage.When flash swf is running, I would like to move the movieclip left, right, up or down when i mousedown. Just like the "MOVE" tool in photoshop.
does anybody know a way to use a the mouse to move a movie clip in one frame without dragging? what i'm shooting for is moving a map in the opposite direction of the mouse (mouse moves left, map moves right, mouse moves up, map moves down) and continues to move. not just one jump, but real motion. i've thought of initializing a getTimer after the mouse moves past a certain point and of moving the map after the mouse rolls over a hidden mc.i have only one stopped frame to do it in. it must be action script....
Does anybody know a way to use a the mouse to move a movie clip in one frame without dragging?
what i'm shooting for is moving a map in the opposite direction of the mouse (mouse moves left, map moves right, mouse moves up, map moves down) and continues to move. not just one jump, but real motion.
i've thought of initializing a getTimer after the mouse moves past a certain point and of moving the map after the mouse rolls over a hidden mc.
how can i let a move clip complete his motion tween movement after dragging and dropping it i am using this code and there is a motion tween applies to the movie clip r_mc
In a nutshell I'd like to be able to use the mouse to draw a box. But not draw the four sides. Instead, you could click and start dragging the mouse and a box would be drawn and grow as you drag. When you let go the box is there. But if you click and drag again somewhere else the first box disappears and the process starts over in the new mouse click position.
On the other hand, would it be better/easier/less processer intensive to just have a teeny box in a movie clip already on the screen and then have that change scale as the user clicks and drags?
Eventually this functionality would be built into a map. The map would be made up of tiles of a certain resolution. The box drawing comes in as a zoom tool. The user could click on the map, drag the mouse and draw a box. That would be the area they wanted to zoom in to. So I'm guessing I would use hitTest to find out which tiles the user drew the box on and then load higher resolution tiles.
But for now I just need to know how to get the box functionality!
i am working on a project in which i want to have the water ripple effect when i click the mouse where ever on the stage. so here is the problem i have created a file which produces the water ripple effect all across the stage randomly by using "flash.filters.DisplacementMapFilter " when playing the movie i want the ripples to appear on mouse down state and only one ripple not multiple ripples and exactly at the place where i click. now what i have done is i have put all the script i have in " mouseListener.onMouseDown = function() { " but what happens is the ripples appear when i click but not the whole movie clip for ripple is played its like i have to click fast after each other for the ripple to be continuous and full.what should i do?
So in Actionscript 3 and Javascript, to get touch events working for mobile devices I have to listen for ontouch events... However, touch events not fired on desktop. However, mouse events are triggered on both mobile AND desktop. My quesion is this: why does w3 have this spec
Wouldn't it make sense to have just to use the onmouseevent? In order to have things work on mobile and desktop I always have to listen for both events-bviously this causes issue on mobile devices because two events are fired when i press the screen (meaning that I have to do a bunch of conditional checking to add/remove event)
My initial thoughts were that multi-touch would be the main reason... But couldn't the design just have some parameter of the event like .touches? That could go along with the .pressure, .finger width, etc... maybe a .type = "touch" or .type="mouse"
I want to let the user control an object, in this case a cartoon character blowing a bubble. I want the user to be able to control the bubble by rapidly clicking their mouse. The faster they click the bigger it gets and when they dont click or click slowly the bubble gets smaller in size.[URL]
What i'd like to happen. but don't have enough actionscript knowhow.I have a series of small movies. i have made an interface with buttons. when the user presses a button one of the movies will be selected randomly and loaded into the main movie. that's it
But the glow animation restarts everytime the mouse moves. Can someone point me towards a tutorial or a tip on using a conditional to detect the mouseMove so it doesn't start over?
I have two button instances on the stage. I've created two functions, one for each button to handle their MOUSE_DOWN event. In both of those functions I have a trace statement to ensure the MOUSE_DOWN events trigger their respective function calls, which each do.
The Problem: When you hover over either button, the button state changes to the "OVER" state as it should. However, when you click the button, the button flickers for a split second and then goes to the "DOWN" state. The flicker appears to be the button going to the "UP" state momentarily and then to the "DOWN" state. The only thing I can think of causing this problem is the fact that there is a MovieClip on the "UP" and "OVER" states that may be inheriting button events.
I've had this happen in the past when using button instances that contain MovieClips inside of them, but never knew how to remedy the problem. As a last resort I guess I could just change all the button instances to movieclips, but I'd like to learn how to accomplish this without needing to do that first.
Here is the only code that exists in the entire file:
Code: var _volumeUpButton:SimpleButton = btn_volume_up; var _volumeDownButton:SimpleButton = btn_volume_down;
I have this movieClip container/holder with several movieClips inside.The container is draggable over the Y axis with TOUCH_BEGIN(same as MOUSE_DOWN) and stops dragging with TOUCH_END(same as MOUSE_UP).But the movieClips WITHIN this holder are clickable with TOUCH_TAP(or CLICK).
Here's the problem:When I start dragging with my finger(mouse) on one of the movieClips within the holder, and release with my finger(mouse) still on the movieClip (I have an ease added to the dragging so it's possible my finger(mouse) won't be on the movieClip when done dragging) it will fire the function of this movieClip.This is really annoying because what if you started dragging, and wanted to click the movieClip beneath the one your finger(mouse) is on right now.I already tried something with removing/adding eventListeners but that doesn't work.
I want to let the user control an object, in this case a cartoon character blowing a bubble. I want the user to be able to control the bubble by rapidly clicking their mouse. The faster they click the bigger it gets and when they dont click or click slowly the bubble gets smaller in size.The only tutorial Ive found that is similar is this url..Anyone point me in the right direction of a tutorial closer to what im trying to do? Or can anyone suggest some action scripting to use?
I'm working on a custom AS visual component, based on UIComponent class. Inside this component, I have a button I programatically added. I set the mouseClick event of it, and it works fine. When the mouseClick for the button starts, it adds a listener for MouseDown on the stage. This is my problem. Once that MouseDown event listener is initiated it won't ever pay attention to the MouseClick listener of the button (which will turn off the MouseDown listener!). I've tried setting the priority number when creating the listeners, but this is not working. My mouseClick listeners gets ignored.
Its been a while since i used flash and i need some action script for my latest project. On my button i want: aboutUs_mc to play when mouseover aboutUs2_mc to play when mousedown i also dont want either to play until both the mouseover and mousedown happens. i also dont want them movieclips looped.
DisplayObject's have MouseX and MouseY getters. This is very helpful sometimes.Is there a way to easily query input state variables such as MouseDown or KeyDown?If not, I suppose I need to add listeners for these events, which is fine.
I am just wondering:why MouseX and MouseY get special treatment without a listener; if there are other getters for input data without listeners that I don't know about in other parts of as3.
Currently I have a button which is in the form of a face. On MOUSE_DOWN the face smiles and then it redirects to a new URL:
mybutton_btn.addEventListener(MouseEvent.MOUSE_DOW N, myHandler); function myHandler(event:MouseEvent):void { navigateToURL(new URLRequest("newpage.html"), "_self"); }
I am trying to make it so that it will pause ON the face smiling (MOUSE_DOWN) for a second before redirecting.
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.
basically I have an MC menu that I want to move to the left when you click and hold on another MC called leftButton, here's what I have.In main timeline:
I have a series of buttons on a page that I want the user to be able to re-arrange. To do this, I have a MOUSE_DOWN event listener that triggers a startDrag. However, these buttons are also essentially menu items so when user clicks on them, they should load the appropriate URL. I don't want them to act as menu buttons when a user is trying to move them about. I have three event listeners on each button, one for the MOUSE_DOWN and one for the CLICK event and one for MOUSE_UP but the function associated to the CLICK event also fires on the MOUSE_UP.
In Flex 3, I have an ItemRenderer that has a button in it. I want users to be able to click and drag this Renderer, but also just click the button. Right now it's working with the Renderer listening on "MouseMove" to initiate drag and drop, and the button listening on "click". However this is very screwy. If somebody is dragging a scroll bar and comes anywhere near that renderer, MouseMove gets fired on the renderer and initiates dragging.
(or if somebody is resizing a HDividedBox, basically if someone initiated a click anywhere in the app and rolls over this renderer, we get unwanted dragging. The alternative is listening on MouseDown instead of MouseMove, which fixes the previous issue, however the nested button loses it's click. I can click on the button, but the renderer just thinks it's time to Drag.
In Flex 4, I have a Spark List component with item renderers. I would like to select an item in the List by clicking on it, and deselect it also, by clicking on the same selected item. Like an on/off switch.
I am designing a physics container. Don't worry, my question is not about the physics. Here is part of my code. Noticed that I have a SetStyle statement there. I realized that if I don't have that line, the MOUSE_DOWN, MOUSE_UP events won't work. If I do have that line, then those events works fine.
Code: package components { import flash.events.MouseEvent; import spark.components.SkinnableContainer; public class Test extends SkinnableContainer { private var mouseDown:Boolean; [Code] .....
I don't know how to do the actionscript tags so I am gonna use the PHP ones! PHP Code: function startTimer() { initial = getTimer()/1000; }
If this function gets called, what exactly happens here? Does it reset the timer? Or just gets the time the swf has been playing? Because when you use this mouse listener PHP Code: mouseListener = new Object(); mouseListener.onMouseDown = startTimer; It actually resets the time everytime you mouseDown. [Code] .....
I'm working on an interactive map of the united states in which each state is a button inside a movie clip. The states get larger and move up in depth when you go over them then shrink back down when you mouseout. All of this (finally) is working right.I wanted it to work so that when you clicked on a state it sent you to a seperate page for that specific state..[code] with a seperate link for each movie clip on the stage of course. Now, when I test this in Flash it opens up an explorer window for every single state when I click on one.When I put the swf on a website and use it, each state I click on links me to California for some reason.I'm sure it's just the syntax and then way I'm setting this up but I don't know of a better way to do it without having to redo tons of my actionscript for each state. If anyone knows a quick solution or a better approach I would appreciate it!