ActionScript 3.0 :: MouseEnabled=false Triggering A MOUSE_OUT?
Nov 25, 2011
If I set the mouseEnabled property of a button to false, it automatically triggers the MOUSE_OUT (and ROLL_OUT) event.Is there a way of avoiding this? I don't want any events to be active after setting this property. I attached an FLA, also here is the code:
Can I shrink the textfield down to the width of the text without squeezing it? Code: public function Notification(Message:String) { notificationText.text = Message; notificationText.mouseEnabled = false; }}
I am having a rather annoying problem!! Basically my code is triggering the event when it definitely should not be...Here is my layout:
Node container - holds all my Sprites and has a MOUSE_OVER (<works fine) and a MOUSE_OUT / ROLL_OUT (<neither of which work) Sprites in Node container - contain text + images but have a Shape hitbox on the top layer meaning there should be no confusion!Basically, I check to see if anything rolls over my node container with MOUSE_OVER which triggers correctly and allows me to target which sprite the user has rolled over.
However, when you move the mouse over the sprites (but not outside!) if constantly triggers my MOUSE_OUT and ROLL_OUT events, it makes no difference which one I use...This is is really frustrating and I can not think of even an ugly work around in my code to solve this, it would be nice to fix it and add it to my knowledge later.
EDIT : Actually the MOUSE_OVER triggers as soon as the OUT event has triggered incorrectly.
EDIT 2 :Basically I have a custom cursor and this is the root of the problem, it thinks I am rolling over the cursor and then out constantly.. OK so how can I Ignore my mouse cursor image? So it doesn't think I am rolling out all the time..?
1) a sprite with a rollover/out tween, going from alpha 0 to 1 on rollover, and back to 0 on rollout (let's call it "containerSprite"). That part is cake.
2) another sprite within the container (let's call it "closeButton"), that goes along for the ride (i.e., its alpha gets tweened along with the container). That's easy enough to do by making it a child of "container". When I say it is "within" the container I mean in terms of x/y.
3) when I move the mouse within containerSprite and onto closeButton, I want the container to stay visible (easy enough by setting mouseEnabled or mouseChildren to false). But I want closeButton to respond to mouseDown events, so I can't set it to mouseEnabled=false, nor can I set containerSprite.mouseChildren=false.
4) there will be several other sprites within the x/y of containerSprite, each with their own rollover/out tween. The catch is, when the mouse is within containerSprite and rolls onto one of them, the alpha of containerSprite SHOULD tween out (unlike when rolling onto closeButton).
For the life of me, I cannot get it all to work. I can get the desired behaviour in (4) easily enough, either by making the other sprites (mouseEnabled) children of containerSprite, or by making them siblings of containerSprite but higher in the display list. But the desired behaviour in (2) and (3) is vexing me: if closeButton is a child of containerSprite then its alpha tweens along with containerSprite (desired), but because it must be mouseEnabled, moving the cursor onto it triggers containerSprite's rollout event (undesired). If instead it is a higher sibling of containerSprite rather than a child, it has the same problem: if it is mouseEnabled, moving onto it counts as a rollOut event for the container. It seems like the solution ought to be easy, and I'm just missing something that is in plain sight.
Overview: I'm creating a menu where buttons have a sub-menu that pops-up when you hover over the main buttons. The menu will eventually be populated by scanning labels in the timeline, and that seems to be working fine so far. Everything works good enough except you can't move your mouse up and down a popped-up sub-menu without the mouse_out function triggering. The mouse_out listener seems to be applied to all individual sub-buttons when I'd like it to apply only to the parent MC container of each sub-menu.
Is there a problem with the way I'm assigning sub-buttons to container MC's ? I've explored using an array to store the MC's as well, but still had the same listener issue. Could someone look at my FLA? If you do a find for "PROBLEM", that is a good place to start.
Im working on a school project in flash, and I solved many problems by reading the forums. But there is one problem that I just don't know how to solve.
I have an object (objectB) which should be highlighted when the mouse drags anohter object (objectA) over objectB. ObjectB contains a rollout and rollover which tells the objectB timeline to go to a specified frame where the color of the object in movieclip objectB is different from the first frame.
Anyhow, this is my maincode in the maintimeline of the flashfile so far;
[Code]...
Now the reason why I use event.target is because I'm going to put in just too many objects that will do the same thing later on. So the problem is that the objectB won't be dropped, or stopped dragging. The rollover function on objectA works when I roll over it when I drag objectB. But why isn't the function dropObject ever executed?
Do someone have a clever and easy solution to this? I guess there is something obvious that I've missed.
I am trying to display database details in a Flex datagrid and connected using HTTP Service. It was able to display details without any issue when I was working in the FlashBuilder 4.5, however, I deployed the bin-debug part in the Tomcat webserver to access it globally.
I am experiencing this error message when I am trying to access the swf file "HTTP request error Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032"]. URL: http://localhost:8084/UA/details.jsp"
I tried to create the crossdomain.xml file and deployed in the root directory but still experiencing the same error.Here is my crossdomain.xml :
<?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy>[code].....
I've created a simple drag and drop game,and when u drag and drop a particular movieClip,another movieClip inside of the current movieClip is played, eg- thats not correct or that correct, depending on weather the movieClip hits the right target, while this is happening,i want the the other movieClips to be disabled, i.e, they should not be able to listen for any event.I've also tried the following piece of code to disable the movieClips, but I guess somehow mouseEnabled = false; is not working.
var arrClips:Array = new Array (aa_mc, bb_mc, cc_mc); function setListen (element:*, index:int, array:Array) { element.addEventListener(MouseEvent.CLICK, setCurrent);[code]...........
It's an image scroller. It has an odd shortcoming that I can't seem to work around. My site is a simple portfolio site with 3 sets of images. I'm using 3 instances of this component, overlapped within the same visual space of the stage, and currently switch through the 3 sets (instances) with alpha tweens using the Activate Tween engine, which augments an object with an .alpha = 0, with .visibility = false; [URL] - to see the behavior I'm addressing. Takes a bit to load wish it were faster.
How do I make a DisplayObject3D have mouseEnabled = false. I have a Sprite behind the Papervision3D scene listening for mouse events and so i need to let it pick up those mouse events through some of the DisplayObject3D objects.
I've tried adding the DisplayObject3D to a separate ViewportLayer and setting thats mouseEnabled to false but that doesn't seem to work.
I just cannot understand why mouseEnabledWhereTransparent does not work on this skin. The Skin this creates is basically a Button with a transparent background and a little triangle to the left side, like so: >ButtonText But the empty space around the Triangle does not receive mouse events. I've tried wrapping another group around the triangle path and I've tried wrapping it into a Graphic Object, also without success. I could create a Rect with 0 alpha below everything, but isn't that exactly what mouseEnabledWhereTransparent should be doing?
Am I correct in thinking I have to set mouseEnabled = false for the entire hierarchy of display objects that are above an interactive object, in order for me to be able to successfully interact with it?Diagrammatically, I've had to set all elements with an asterisk to mouseEnabled = false:
Even though mouseEnabled is set to false, still ROLL_OUT is cought. Its propably cause mouse GOES out of the object, but I dont think it should be like this.
I have several sprites nested in containers. Let's say, that there are six containers (each represented by a Sprite) nested. I use the mouseChildren = false property on the container at depth 3, so the containers that lie deeper cannot receive mouse events. But still, I want that the container at depth 6 can receive mouse events
So I made few text fields on the stage and launched the movie.It appears that when I turn on the "Show redraw regions" and try to click on the text field it shows it's redrawed.When is set the mouseEnabled property for this text field to false and try to click on the text field it doesn't show it's being redrawed.
Selectedcolor, true to the text true or false is false text into print.colorPicker component in, I select Export to a selected color, the color value myMC texte into summer, but accuracy can not control.
var myColorPicker:ColorPicker = new ColorPicker();myColorPicker.editable = false;myColorPicker.visible = false;myMC.visible= false;myColorPicker.addEventListener(MouseEvent.CLICK, clickHandler);myColorPicker.addEventListener(ColorPickerEvent.CHANGE, changeHandler);[code].........
I'm having an issue with a drop down menu not returning to it's regular state after you have rolled over it. This issue is occurring in Firefox, and Safari and on my Mac. I visited the site [URL] on a oc and the drop down menu worked just fine. Does anyone have a clue as to why this is happening? I thought it might have something to do with my MOUSE_OUT property but I'm not sure.
I have an MC on my stage (button2) which has certain properties.What I want is to hover over the button and get a bunch of child buttons appear above the button. This works fine, except I cannot get the mouse_out to work properly on the child buttons. I want to be able to move my cursor across the various child buttons, but when I actually move the cursor outside the container of the child buttons that is when I want them to disappear. Right now what's happening is if I mouse_out from ANY child button, they disappear.import
I'm making a navigation bar which will be embedded into html via a php include(). What I'm trying to accomplish is when the user clicks a button, it stays in the mouse_down state while it's on the page. I have this much working, but as soon as the mouse moves off the button, the mouse_out function is called, thus playing the mouse_out animation.
Here's the relevant part of my code, with only one instance of each repeated part of code to save space:
ActionScript Code: import flash.events.MouseEvent; var getAbout:URLRequest = new URLRequest("about.php"); var pageURL:String=ExternalInterface.call('window.location.href.toString');
So I am making a basic Mouse_over/ mouse_out event, but if I pull the mouse off before the object reaches frame "box_big" then the mouse_out event will not activate. What is a way around this?
On the 'buy' screen, there are 6 unit buttons with which you can buy troops. You can control these by clicking and holding.Clicking 'play' to go into a battle has 6 identical buttons used for deploying the troops you bought. These _should_ be able to be held down, but there is a problem. It seems that they erroneously call a 'MOUSE_OUT' event even if your mouse is not moving.The pattern dictating which battle buttons can be held and which can't is as follows: any buttons you clicked on the 'buy' screen will get bugged on the battle screen.But I don't get this. They're not the same buttons. I quite thoroughly remove them before going to the 'battle' screen (though I'm not convinced this actually means they're gone):
Code: beginMatchButton.addEventListener('menuButtonClicked', function(e:Event):void { for (i = 0; i < buttons.length; i++) {
as you can see by the code I used the "Code snippets" in AS3 and used the "Click to display a text field" in the menu there.
Anyways, it does what I want, however on MOUSE_OUT I want it to no longer display the text there, to not have it visible more than just when the mouse is over the image (bild1) in this case.
This is the code, how should I do this? best easiest solution? would be loads appriciated!
...Or if there's any other easier way to just display a text somewhere on mouse_over and then to not having it visible anymore on mouse_out
"bild1.addEventListener(MouseEvent.MOUSE_OVER, fl_ClickToPosition_5); var fl_TF_5:TextField; var fl_TextToDisplay_5:String = "BMW 335 E92" function fl_ClickToPosition_5(event:MouseEvent):void
When I MOUSE_OUT before the MOUSE_OVER mc is still playing, it doesn't see the MOUSE_OUT. I tried adding a stop(); line to the beginning of the Button1Out function, but that didn't do squat.
So I am making a basic Mouse_over/ mouse_out event, but if I pull the mouse off before the object reaches frame "box_big" then the mouse_out event will not activate.
I'm working on something where when a user places their mouse over a horse in a race, it will display the horse's name and post position. This works great and has a Mouse_OUT which then removes the display of the name/post position. However, I've noticed that if I place my mouse over a horse and leave it there and said horse moves away from underneath where my mouse was, the name/post position become stuck on the screen until you mouse over that horse again.