I have a swf that needs to change states based on whether or not the mouse is hovering over the swf or if it's outside.
I've tried doing things such as stage.addEventListener(MouseEvent.MOUSE_OUT, fnc) but it triggers whenever the mouse goes past different movieclips within the swf.
And since I have interactive elements, I can't just slap a movieclip over everything and add a listener to that.
i've been having difficulty detecting a click on the Stage.i'd like to create something similar to when the user clicks on anything that's not a movieclip it zooms out.
correct method to do this is in here http:[url]....however, Event.MOUSE_LEAVE no longer behaves this way in FP 10.1. i read somewhere that we should now be using Event.DEACTIVATE. this has not been triggering when the mouse leaves the stage area, for me.
I have designed a menu that When you mouse over it, a custom cursor appears. When you mouse down it disappears and when you mouse up it returns. If you happen to mouse down and then drag the mouse off of the menu (whilst in mouse down) and then mouse up outside the menu, the custom cursor disappears. All good. The only issue is: If you happen to mouse down on the menu and then drag the mouse off of the menu AND off of the stage, i.e the SWF (whilst in mouse down) and then mouse up completely off of the stage, the custom cursor appears at the point it left the menu. I have tried to fix this using MOUSE_LEAVE but this dosnt work when the mouse button is pressed down. I have attached an FLA, SWF and the AS below.
Im having a problem with some rollover code im using for a movieClip, basically if the mouse runs over to fast the rollover animation is played but not the rollout as the mouse has left the SWF area. Is there anyway of telling where the mouse is on the screen so i can run a check to see if its in the swf or not and then run code accordingly.
Im creating a flash projector that opens some other projectors with the fscommand exec command. Is there a way of detecting when the mouse is over one or another to change some values of variables?
I am tring to create a "find and destroy" game..I have 20 ball shaped movie clips..they move around randomly..I want to click(destroy) only the ones having certain names (enemy1,enemy2...enemy8)or having certain color....how can I write a function so that I can explode them clicking with my mouse .
I need to be able to detect a MOUSE_LEAVE on the instant the mouse leaves the stage no matter if the mouse is DOWN or UP. This seems to be impossible or a limitation in AS3. The MOUSE_LEAVE only gets dispatched if mouse is UP or after the mouse is released outside stage. Is there any API like isMouseOutsideStage instead of using listeners which i can use instead? stage.addEventListener(MouseEvent.MOUSE_OUT) is also not applicable because whenever my slide show changes images, MOUSE_OUT of stage gets dispatched which is undesirable.
The code below works perfectly where it detects a release or release outside if event.target is other than myButton. The weird thing or perhaps an undesirable behavior is that if i release outside stage, event.target equals myButton thus detecting a "release" instead of "release outside". I think that when we release outside stage, the want event.target to be null.
I've just hit a really strange bug with a program I'm creating. The program allows the user to add shapes (currently all squares: SmallThing, MediumThing and LargeThing) to an area of the screen, then drag them about by clicking and draging using the mouse. Pretty simple. Unfortunately, the code seems to be failing for the smaller shapes (they're not THAT small, currently the smallest shape is 32 x 32) which are not generating mouse events at all. I have used trace statements to verify this. I am having a few issues with the larger shapes ocassionally not registering mouse up events, but I can live with this - the main issue is with the small shapes not being moveable.
All the shapes are descended from the same super class, and have the same event listeners added to them when they are created.
Here are the relevant functions in my Screen class. It's all pretty basic code so I really can't see what the problem is.
I wanna detect the direction of mouse movement. If the mouse moves tpwards the left or right of its currrent position, i want to detect it. Is there anyway to identify such movement. Actually i am implementing a 360 degree rotation of image. That means , if the mouse moves along the left side of its current position, then the image should move along its left side, otherwise it should move along the right side. For example, view this site:
I'm making the simplest swf for a friend who has real problems remembering the actions of a Left and Right click with the mouse. So I would like to show text when "Right" click is detected and the same for a Left click. This at first seemed an easy project but the right mouse detection has got me baffled.
i have some movie clips on the stage and the background of these movie clips are, of course, the stage. now, i need to detect a click on any area of the background(the stage) to do something to the movieclips above it.What I did is, I laid a movieclip which has the same size as the stage, above the Stage and below the other movieclips. I then set this movieclip to visible = false. Next, I thought I could use onMouseDown to get the clicks but unfortunately, it isn't working because onMouseDown detects the click on anywhere I click.I am not using onPress because I don't want to have the hand cursor appearing on the entire flash movie.
I am tring to create a "find and destroy" game. I have 20 ball shaped movie clips..they move around randomly..I want to click(destroy) only the ones having certain names (enemy1,enemy2...enemy8)or having certain color. how can I write a function so that I can explode them clicking with my mouse .
Is there any way to get the mouse location (or at least an estimate), even when it moves outside of the stage area?The reason I need this is that I am trying to detect how fast and at what angle the cursor is moving, not necessarily the location of the mouse. It works fine until you move the mouse outside of the stage area, which happens a lot, and then just doesn't record the mouse location until you move the mouse back on to the stage. Impatience leads to confusion. Confusion leads to anger. Anger leads to the dark side.
I want to detect if the cursor is over a movieclip to stop the timer that i have? What's the best way? MousEvent.ROLL_OVER will force me to use another function, leaving me with no access to do myTimer.stop();
I have a small tooltip which follows the mouse and asks the user to click in order to close a picture. The tooltip follows the mouse using: startDrag("tooltip", true); But I'd like to remove the tooltip once the user moves the mousepointer outside the picture. Though, when you use onRollOver, the mousepointer changes into a finger. This is not what I'm looking for since the picture than functions and looks like a button. So is there any way to detect if a mousepointer is over a movieclip, without changing the cursor?
Is it possible to detect when a user is clicking while simultaneously pressing a button on the keyboard? For instance, if a user presses "a" on the keyboard and then clicks on a specific movie clip, I'd like to trigger an animation.
I have some nested movieClips. I've got an event listener on the parent listening for a mouse click. Problem is, the listener never picks up the click.[code]On movieClipStack, I can see that mouseEnabled = true. In addition, buttonMode = true works exactly like it's supposed to. But onStackClicked never happens - movieClipStack just isn't detecting any sort of mouse event.
I m doing the background to resize according to the stages width, but if I use OnEnterFrame event, the movie get to slow.What is the other way of doing the same? Detecting the changes in width of the stage and only then aplying the resize of the background?
I know that datagrid can detect changes of single mouse click with
//add listener myDataGridList.addEventListener(Event.CHANGE, myDataGridListChange); public function myDataGridListChange(e:Event):void{ trace(myDataGridList.selectedItem.id); }
but can they detect double mouse click?My purpose of doing this is that, if the user double click on a datagrid row, I need it to return me value of myDataGridList.selectedItem.id, so that I'm able to continue to proceed to the next stage of my game.
I am making the board game Shogi in actionscript 2 and I have a question on how to detect a particular imput.I have a movie clip on the stage, I want it so that if I hold down the keyboard button "p" and then click on the movie clip, it will go to the movie clip's frame 2 (not the entire flash project's frame 2, just the particular icon's frame 2. I need this because I am using movie clips as game pieces and in Shogi, certain game pieces can be promoted. I also was wondering how to detect what frame it is on.
Okay, in as3 when you click, the object on the highest layer will be clicked on. I want someone to press the space bar and have the objects on the screen to check to see if it is touching a point.So I first tried hittest...
if (this.hitTest(myPoint)){ play(); }
Now the problem was objects behind other ones were thinking they were being "clicked" on.
I have a Card class. From this class, I have three possible children: Photo, Video and Info. In my main class, I want to create a few instances of these different classes without knowing what kind it is. But, no matter that, I want them all to listen to the mouse, so I may have something like this:
ActionScript Code: var item:Card = new Photo(); item.addEventListener(MouseEvent.CLICK, mouseHandler);
The thing is: the Card class is kinda like a canvas... it has certain properties common to every type of item, but there's a space where it leaves it as a canvas... a Photo instance will load a photo there, a Video instance will load a video and a Info instance will load text to a TextField. The problem is that the event listener doesn't work the way I want it to... on an Info instance, the target of the click is the TextField; on a Photo instance is the picture... I want them all to be the class itself... in other words, I want to be able to parse the target as a child of the Card class. My code for the mouseHandler method is
ActionScript Code: private function mouseHandler(e:MouseEvent):void { if(e.target is Photo)
[Code].....
That's the main idea... to be able to know what kind of object I'm clicking and access its properties... but on an Info instance, e.target is of type TextField... to be able to access the Info object, I have to do e.target.parent, and that is NOT the idea.
If two movie clips instances of the same movieclip are placed on the stage and one is flipped horizontally in Flash.. Is there a way I can detect which one has been flipped horizontally in code? ScaleX seems to remain unchanged.The MovieClip has been flipped horizontally using the Flash UI (Edit->Flip Horizontal), not via code.
Is there a way to detect when any particular movieclip appears on the stage's timeline in AS2?
Attempt #1: The MovieClip.prototype.onEnterFrame hack ---------------------------------------------------------
All Movieclips have an Enterframe event. I set it to attempt to delete itself within the function so it runs once. Unforunately, this isn't possible (delete this.onEnterFrame) doesn't work, unless we delete the prototype.onEnterFrame dierctly as well. Of course, we can set the enterFrame to null, but enterframe will still be called despite it being nulled. So, what are the performance hits as a result of this?
Is there a way to flush away the MovieClip.prototype.onEnterFrame (by deleting it: deleting MovieClip.prototype.onEnterFrame), and then re-declaring it again "MovieClip.prototype.onEnterFrame=someFunc", so that layter clips that appear on-stage can be initialised accordingly with the enterframe "frame1" function? Yes, but redeclaring the function again would also apply the same enterframe event to the previous clips on the stage which had alraedy been initialised, which would waste more cpu cycles. Unforatunelay, it seems the Prototype thingy affects all instances on the stage, not the constructor itself upon initialisation. So, doing MovieClip.prototype.onEnterFrame=something, will cause all Movieclips on the stage to have that event, which is going to suck!!!
Could i hack the MovieClip cosntructor and create a totoally new one? But i think all these are hardcoded alraedy.
I want the function to run only upon instantiation of the MovieClip when it appears on the Stage's timeline.
I am working on a small section of my game and am attempting to detect key presses from an external class but I cannot get it to work. This code worked just fine when within the document class but now it's unresponsive. I'm not getting any errors, simply no activity whatsoever.Here's the applicable code:
My document class:
Code: package { import flash.display.MovieClip; public class Engine extends MovieClip