I am develop on Air for iPad app, just wonder is TouchEvent more efficient or MouseEevent is doing fine. i am talking about performance wise, things like doing drag and drop and ect...
I have 2 controllers on my stage, one behaves like an analog controller (A) for left/right up/down etc, controlled with a TouchEvent. The firing controller (B) is bound to another TouchEvent.problem is TouchEvent seems to be much slower than using say MouseEvent.MOUSE_DOWN for controller (B) which results in a much faster firing mechanism. If I am using TouchEvent to control (A), and MouseEvent.MOUSE_DOWN on controller (B), (B) will not fire unless I release (A) meaning I cannot move and shoot at the same time which is frustrating, but I can use a MouseEvent for controller (A) and a TouchEvent for controller (B). how I can stop the conflict?
Experimenting with touchscreen events, using Flash Builder "Burrito", Flash CS5, and Device Central...As follows is the document class (Engine.as) for a (properly set up and responding) resource fla:
public function init():void { var mySprite:Sprite = new Sprite(); mySprite.graphics.beginFill(0x336699); mySprite.graphics.drawRect(100,100,150,50); addChild(mySprite
[Code]...
But how would I and a image to the sprite so the TouchEvent responds to touching the image?
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 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'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
I've written code that enables DisplayObjects to be fully manipulated under two touch points (drag, scale, rotate). The problem I'm having is that as the DisplayObject is being manipulated, it causes fluctuations in the TouchEvent's stageX & stageY properties. These fluctuations are feeding back into the tranformation code and as a result, the object shakes/shivers.
It seems that the stageX & stageY properties are being calculated from the localX & localY properties of the TouchEvent. I've tried adding listening to the stage itself for the TouchMove event, but as soon as I drag my finger over a transformed object, the traced stageX & stageY values change slightly, going from integers to floating-point numbers. This is evidently what's causing the shakey feedback loop.
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 want to simplify some event handling of an flash app (if that is possible).. so i thought to extend MouseEvent in some way to do it.What i need is OVER, OUT and CLICK callbacks with an extra parameter (an object)... or something like that..I tried:
I've created a function called dragItem() that I call with the MOUSE_DOWN event. I've got it working....kind of. I can access the function when the mouse is clicked and I can even get the name of the instance when the mouse is down. I'm trying to use the same logic to get the single object to allow a drag. see my code below...
function dragItem(event:MouseEvent):void { var instName:String = event.target.name; trace(instName); trace(event.target.width); event.target.startDrag(); event.target.removeEventListener(MouseEvent.MOUSE_DOWN,dropItem); event.target.addEventListener(MouseEvent.MOUSE_UP,dropItem); }
I get this error when I try to drag the item...ReferenceError: Error #1069: Property startDrag not found on flash.display.Loader and there is no default value. at Main/::dragItem()
I have two sprites A and B, both are irreuglar drawn shapes (both with a transparent fill) that overlap certain points. The current result is B on top (though which is on top is not really relevant, as the same problem will exist if A is on top). They are both children of the same UIComponent.
Both are listening for the MouseEvent.MOUSE_MOVE event. It is to occur when a corner on either shape is passed over by the mouse. Though, when the mouse moves over the corner of A and this corner is behind B the MouseEvent is never raised.From my investigation I've found when i turn the fill off on the sprites and just draw the outline of the shape the mouse event will raise, but this is not what is wanted. how can I get *both* the objects listening and responding even when the corners of one is overlapping the other?
I've googled around and seen this topic at a million places but I just don't get the solution![url]...
Like in the image above. My red movieclip is dragable when mouse_down and dropped when mouse_up. At the same time I want the underlying Blue MC to get it's mouseEvents but if the Red MC is overlapping it, it won't react. What do I do to make both active?
I'm building a grammar excercise where I've got 24 drag'n'drop cards (movieClips), that I can drop into two 'slots' or dropTargets. Each card has its corresponding card, and when the right cards are dropped in the dropTargets, they get a 'well done' message, and a button appears so the user can go on to matching the remaining cards. When the button is clicked, I want the dropped cards to simply disappear.
Basically I have a Sprite that contains a Shape. I'd like that Shape to trigger the listener I've attached to it however, Flash just thinks the container Sprite is being clicked every time.
I currently have an AS3 fla with a couple of mouseEvent functions but now the client wants to add a KeyboardEvent as well to the same exact functions. Can I add another eventListener to that without having to create a second function? It would be a huge waste of code if I did. Here's what I currently have in truncated form:
rightArrow.addEventListener(MouseEvent.CLICK, slide_right); leftArrow.addEventListener(MouseEvent.CLICK, slide_left); function slide_right(e:MouseEvent):void {
show a demo using Actionscript 3 where a child movieclip is added dynamically in a loop using addchild within a cotainer movieclip. Then the child movieclip has an addEventListener MouseEvent added to the child, not the container, in the code.