I have a MovieClip (call it base_mc) which is under a bunch of other MovieClips (call them subclips). The MovieClips on top are all mouseEnabled with MOUSE_OVER, CLICK, etc, event handlers. I want to capture the event of MOUSE_OVER (or ROLL_OVER) on the base_mc as well. Any time I am over one of the subclips I am also over the base_mc clip. How can I capture this event?
I'm loading .JPGs into loaders, setting the alpha of the loaders to .5 and would like to add a ROLL_OVER event to set the alpha to 1 then back to .5 on ROLL_OUT.Here's what I've got so far and it works well.
var ldr1:Loader=new Loader();var url1:URLRequest=new URLRequest("thumbs/1t.jpg");ldr1.contentLoaderInfo.addEventListener(Event.COMPLETE, done1);ldr1.load(url1); function done1(event:Event):void{ event.target.content.alpha=.5; event.target.content.x=currentX; //currentX & Y are already set event.target.content.y=currentY; addChild(event.target.content); currentX+=event.target.content.width;}
NOW, I'm trying to add the MouseEvent and can't figure out what to add the listener to - the loader or its content?
ldr1.addEventListener(MouseEvent.ROLL_OVER, rollOn); <<<<--- this doesn't work. ldr1.contentLoaderInfo.addEventListener(MouseEvent.ROLL_OVER, rollOn); <<<<---this doesn't work either.
I have a button with a MouseEvent.CLICK listener. The CLICK event is being triggered when the button is pushed, mouse is down while rolled out, then released when rolled in on the button again. I do not want this to happen, the click event should not occur when the button is being dragged.
My flash file contains a large amount of buttons and click listeners, I would like to solve this problem with as little code as possible. What is the simplest solution to this problem?
Here, my loader instance name is: myLoader. When I click on the dynamically loaded image, I need to place a small red rectangle at that particular pixel position on the image.For creating a small rectangle, I am using following code:
At the moment when I click on the continer sprite, both mouse events are bringing triggered, from the stage and the container sprite. How can I make it so I only get the object I'm clicking on and not the stage as well??
i've created a bitmap with data and placed it into a sprite so to receive mouse events. however, i'm struggling with reading the BitmapData within the sprite.
am loading an image onto stage dynamically. When I click on the loaded image, i am drawing a circle/rectangle[which is of Sprite type] at exact pixel-position on the image and making these circles/rectangles(Sprite_objects) visible there itself. In this way, I am adding as many number of Sprites_objects, till I continue clicking on the same image present on the stage.
The code in my application(which displays red colored rectangles when you click on the image) is as follows:
If you copy the code into ur actionsPanel directly,then make sure "image1.jpg" file * is present beside the .fla file.Since it gets loaded iff it is present in same directory.
*/ var myContainer:MovieClip = new MovieClip(); var temp_x:int,temp_y:int; //Loading an image dynamically and adding listeners... var urlReq:URLRequest=new URLRequest("image1.jpg"); var loader:Loader = new Loader(); loader.load(urlReq);[code]....
I'm currently working on a center stage component and I was wondering if there's a good way to detect when a stage component has been changed if any of the elements inside it have been enlarged?
This seems like it should be available but I can't find one that doesn't fire before the redraw. Or at all for that matter.
Taking my first steps coding in AS3. So I have my main class which extends sprite and I put new mc's on top of that. Using addEventListener on any child MC's with MouseEvent.CLICK works fine, but I can't add it to the main sprite. How can I register all clicks on the screen?
I have several stage event handlers to enable mouseovers over several dynamically generated moviecilps on the stage that then change their alpha to indicate the mouse is over that particular mc... fairly trivial (mcOver handler). Additionally, I also want to know what MC is clicked, so I update a public variable (public var activemc:Number) with the ID of the dynamic movieclip when the mouse is over it (using a hitTest to check, which is why the EventListener is added to stage and not to the MC), which is checked in the mcClicked handler:This is in the constructor:
However, the mouseover behaviour (alpha 0 when over, alpha 1 when out) stops working as soon as I click on any movieclip on the stage, and the mcClicked ID checking (below) stops working completely. I don't know if this is to do with focus:
private function mcClicked(event:MouseEvent):void { myTextField.text = String(activemc); // activemc is a public var:Number with the movieclip //ID }
I then tried adding the event handler for the stage mouse_move again and this gets the mouseover working again but only for 1 more click, after which it stops again:
private function mcClicked(event:MouseEvent):void { myTextField.text = String(activemc); // activemc is a public var:Number with the movieclip //ID stage.addEventListener(MouseEvent.MOUSE_MOVE, mcOver);
I'd like to know what is the difference between MouseEvent.CLICK & MouseEvent.MOUSE_DOWN. Because when i use MouseEvent.MOUSE_DOWN for a button to set full-screen view its doesn't work, instead of this MouseEvent.CLICK works. So what was the reason.
I'm making a button for the first time, and I wanted to use a full click to drive it. However, when I use addEventListener(MouseEvent.CLICK, onClickHandler); nothing happens when I click on it. When I use (with the rest of the code being identical) addEventListener(MouseEvent. MOUSE_ down, onClickHandler); it works like a charm.
I have a MOUSE_DOWN handler that creates a CLICK event listener on a child object. Naturally, as soon as you release the mouse button, if you happen to be over the child object, the CLICK event fires.I was disappointed to discover that event.stopImmediatePropagation doesn't interrupt the CLICK event from registering the MOUSE_DOWN as part of its detection cycle. It makes sense that it doesn't but still... disappointing.A MouseEvent.CLICK consists of detecting a MOUSE_DOWN on the object and then if it's followed by a MOUSE_UP without leaving the object, he event fires. I had hoped that by cancelling the MOUSE_DOWN event, it would clear that out of the CLICK buffer, but no such potatoes, alas.This could all be handled with a flag and a couple more MOUSE_UP and MOUSE_DOWN handlers, but dang, smacks of effort
Why won't my sound play? It should play on Mouseover and stop on Mouseout.
stop(); import flash.display.MovieClip; import flash.events.MouseEvent; var req:URLRequest = new URLRequest("squeeak.wav"); var sound:Sound = new Sound(); var controller:SoundChannel; function soundLoaded(event:Event):void{ controller = sound.play(); [Code] .....
Clicking a button to start the current movie clip playing. In the following example, playButton is the instance name of the button, and this is a special name meaning "the current object":
Suppose, I created a MovieClip(with instance-name= "myClip") on the stage. If I need to process MouseEvent.CLICK event on this movieclip(myClip), then we use addEventListener(bla.... bla...); method.
Now, my requirement is, in certain case, I do not want to occur any MouseEvent.CLICK events on this same movieClip(i.e., myClip).Then, How to do this? (or) What is the method/class used in this context?
Atlast, My requirement is: How to remove/disable Mouse_CLICK events when occur on a MovieCLip.
I am having trouble getting my menu to work. I want when you click a button it displays a movieclip on stage and then disappears when you click a different button. Error occurs at line 88 (I bolded it}.
I have a parent movieclip with a few other movieclips inside it. When I add a mouseclick eventlistener to the stage and click on one of the children, i want the target of the event to be the parent movieclip. I still need the children to be mouseEnabled.
how do you check if a movieclip is a child of another?
I'm having a problem with adding a MouseEvent listener to a Loaded MovieClip. The loaded MC is a single frame and contains two animated MCs. There's some MouseEvent listeners already on the two MCs. Here's the code in my loader SWF:
My issue starts here:Suppose, I created a MovieClip(say, instance-name= "myClip") on the stage. If I need to process MouseEvent.CLICK event on this movieclip(myClip), then we use addEventListener(bla.... bla...); method.Now, my requirement is, in certain case, I do not want to occur any MouseEvent.CLICK events on this same movieClip(i.e., myClip)Atlast, My requirement is: How to remove/disable Mouse_CLICK events when occur on a MovieCLip.Here, I try to disable the MouseEvents because, The MovieClip must be visible but should not accept any Mouse_CLICK events on it
rwBtn.addEventListener(MouseEvent.MOUSE_OVER, audioOver); function audioOver(e:MouseEvent):void { var thisClip:MovieClip = e.relatedObject; thisClip.alpha = 0; }
I would like to change the alpha of the clip that is being rolled over. I don't know how to target the clip that is being rolled over. How do I do that?
i've not tried to do anything odd with eventListeners up until now. i have a movieclip with multiple frames that i use AS to attach a textfield to it. problem is i have a eventlistener for when the mouse rollsover the movieclip to go to frame 3 of the movieclip.
[Code]...
what's causing the textfield to suddenly take precedence and how do i stop it. when i trace the evt.target - it is my movieclip.
So I'm Bitmaping some heavy stuff to try bring down the [pre-render] and [render] which is quite high according to FlashBuilder's profiling. I thought this was going well until I realised that as soon as you change a MovieClip to a Bitmap, you lose the pixel based accuracy of the mouse move events (Over, Out, Move...), all your left with is the entire bounding box of the Bitmap, something which is less than desirable. I've got a game where many Bitmapped assets would be on top of each other in a scene, on the stage, arranged in various ways and need to have that pixel accuracy moving between each one and have exhausted my efforts as to how to achieve the same mouse move results with the Bitmapped guys as normal.
This, [URL], is a FLA which shows this operation, and you can see how it works here, [URL]. When it loads up, both items on stage are drawn Shapes, encapsulated in MovieClips, both that get a glow, if you hover over them. If you click the stage at all, the purple guy gets turned into a Bitmap and now, his 'hit area', when it comes to MouseEvents is his whole bounding box and you can only get through to the back green item at the edge slivers.
I'm also tracing the pixel which the mouse is over, so I can clearly tell when the mouse is over a transparent area, it's 0, but how can I tell the event to forward itself on down the chain to the green MovieClip?
Below is how it's now pretty much working for me,
var bitmap:Bitmap = this['bitmap']; var shouldMouseOver:Boolean = bitmap.bitmapData.getPixel(event.localX - bitmap.x, event.localY - bitmap.y); if(shouldMouseOver)
[Code].....
I shut off mouseEnabled for my item, when I know it's wrong, then I search for another item that properly fits the bill and if there is one, send an Event to that and break. If that one's also wrong, it'll do the same again, but each time taking themselves out of the loop.
This does work exactly how I want it to, but I'd always prefer to keep things like globalToLocal and looping, and reading from arrays for not frequently updated methods like listeners to MOUSE_MOVE. Is there a more efficient way to do this?
I added a movieclip and named "bot_mc" in another movieclip. Then, In Action panel, I use bot_mc.addEventListener(MouseEvent.DOWN, xxxx). However, when I drag and drop the container movieclip on the main stage and compile. There is no error occurs but the MouseEvent doesn't work.
My code is simply looping through an xml file and creating 'pages' (which are later animated).
This has all worked fine but now I want to add a sprite over the entire contents of the page if the contents of the xml contain a URL.
At run-time I can see that the checks for the URL are being processed correctly and that the overlay is being generated, but I cannot "see" it on the page.
The following code is located in a for loop for every page in the xml file:
var page:Page = new Page(); //MovieClip in my library // ... other stuff var textMC:FadeText = new FadeText(xml); //load the text from the xml fragment for this page
[Code]....
I now believe it is something wrong with the XML. It is correctly parsed XML (otherwise FlashPlayer would throw exceptions in my face) and it appears that this code works on every page except the second. Further more, if the second page is set as visible (a flag in the XML determins if the page is created or not) then none of the other pages overlay works.