ActionScript 3.0 :: Passing Variables With A Custom Event With TransitionManager
Apr 30, 2009
I've spent most of this afternoon trying to learn Custom Events so that I can pass a variable through to a function that's fired when a Fade Out has been completed.
i.e.
[Code]....
So I'm not sure that I'm even close to getting this right.
how I can pass variables to a function called when a Transition has completed?
I want to pass a variable to TriggerThis though and I know that I need to use a Custom Event to do this. I tried creating a .as file containing the following:
I'm trying to pass a string variable with custom event and having a problem retrieveing the string when the event is handled. The event fires OK, and I can trace the string in the Event, but it returns "undefined" in the event handler. I'm hoping it's just a typo or something, but it's got me stumped. Below is my Event code and the handler code. [code]
I'm using the following addlistener to listen for a custom event the event works if i put e.Event in the functions parameter but i don't get the passed variables however if i go into the .as folder where the dispatch originates and put EventType in the parmeters field of the function then i get all the variables.........but if i put EventType instead of e.Event in the first example then I get undefined for EventType.....how do give access to EventType?
This example relies on 1 MC on the stage called testMc now when you run this code it works fine. Every time you click the movieclip in does what its suppose to do.
The output shows trans trans trans trans etc
The problem lies when you resize the screen and then press the button again for a few times you will see this in the output transresizeresizeresizeresizeresizeresizetransresizetransresizetransresizetransresize
Somehow after the resize is done it keeps calling out for the resize event. How is this possible ?! I made it in CS5. import flash.events.MouseEvent;import fl.transitions.*;import fl.transitions.easing.*; stage.addEventListener(Event.RESIZE, stageResize, false, 0, true); function stageResize(evt:Event):void{ trace('resize'); [Code] .....
This is NOT duplicate of my earlier post (its is slightly different)But this is similar issue with similar error but its not the same error The error I am getting now is below while dispatching the custom event from my custom component
TypeError: Error #1034: Type Coercion failed: cannot convert events::MapEvent@a74ab51 to flash.events.MouseEvent. dispatchEvent(new MapEvent(MapEvent.CLICKED_ON_MAP));
Note: The error in my earlier post is giving below error message
Type Coercion failed: cannot convert flash.events::Event@81ecb79 to com.events.ShopEvent
The difference here are two things, the earlier error is while converting flash event to custom event and now this one is while converting custom event to flash event and secondly, I have no clue why it is trying to convert to the mouseevent where I am just dispatching my custom event with proper listeners.
I hava a custom component and it contains a child icon. If I add a mouse-click event listener to both component(click-listener1) and icon(click-listener2), the event dispatched sequence is click-listener2, then click-listener1. I can understand it. But if I add a custom event to component (listener1), and mouse-click event to icon(listener2), when icon is clicked, the component will dispatch the custom event. In my test, the event dispatched sequence is listener1, then listener2. It doesn't match with event-bubbles rule.
In my opinion The custom event is dispatched in listener2, which triggers listener1. Why event flow sequence is not listener2, listener1?
In component.
icon.addEventListener(MouseEvent.CLICK, iconClickHandler); private function iconClickHandler(event:MouseEvent):void {
I have the following situation:I have an event handler, that displays small messages in my application's statusbar.These messages get passes through by dispatching events from custom components.A simple message could be like "HTTP Error" or so.Now, the main event listener, in the main application file, listens to the event dispatched by any custom component,but seems to refuse listening to events dispatched by custom AS classes.Here is my code for the custom event:
i am a bit embarassed to ask this, but i do this so much i have to ask. Occasionally, i need to pass/handle custom events on the fly. Rather than creating a whole custom event class, i will just do something like
Code: myObject.dispatchEvent(new Event('thisCustomEvent')); //and then handle it later
I have a custom Flex 4.5 component (to be used in a List) -
Game.mxml (represents a clickable playing table in a card game): <?xml version="1.0" encoding="utf-8"?> <s:ItemRenderer [code].......
But I never see the "game clicked: " trace. Does anybody please know why? I'm probably missing something minor, because I can see the "Clicked: 8946" trace.
This is similar to the question asked here. I am dispatching custom event "ShopEvent" but i am getting error "Type Coercion failed: cannot convert flash.events::Event@81ecb79 to com.events.ShopEvent"Note: Error is thrown from the parent custom component (3rd code snippet), I have added more details thereThis is my custom event. See the first constant, I copy pasted the event name in custom components.
I used to actuate the painter function by using a MouseEvent although I'm prefering to do it this way, but I'm having issues with an error "1120: Access of undefined property thisMouse." Error in Bold I've attempted to pass the Mouse Event to the painter function but had no luck. A simple solution (even potentially dangerous and WRONG) would be fine here, as this is part of University Coursework and I haven't been taught Classes etc. Its basically an introduction to scripting but im trying to do things slightly out of my depth
I am having trouble using a custom event in flex. I need to dispatch an event from inside two nested components and receive it in the main application file. The basic set up is a main application file importing a custom "gallery" component.
In my AIR application, I try to dispatch a custom event from a class to main window.This class is use to call httpservice. My goal is to send a custom window when the httpservice result is send.[code]...
I am trying to understand event propagation in Flex framework and have a following doubt on it:
Scenario: I have a built-in component DropDownList on change of which I want to create a custom event refreshPreview and want to propagate it to a custom component PictureComponent.
In the custom component's mxml, I have added the Metadata directive as follows to register a refreshPreview event with the compiler
Layout Details: In my main mxml application I have laid out DropDownList and the custom component such that both are siblings (i.e. have a common indirect parent) e.g.
I am seeing that the refreshPreview event is not getting propagated to the custom component.
I doubt this is because the built-in component is a sibling of the target (where the event got generated) and not a parent. how to make refreshPreview event propagate to custom component?
printableInvoice.addEventListener(batchGenerated, printableInvoice_batchGeneratedHandler);Results in this error: 1120: Access of undefined property batchGenerated. I have tried it as FlexEvent.batchGenerated and FlashEvent.batchGenerated.
The MetaData and function that dispatches the even in the component printableInvoice is all right. It I instantiate printableInvoice as an mxml component instead of via action-script it well let put a tag into the mxml line: batchGenerated="someFunction()
I have created a custom class. It seems to work (at least no errors), but when I create a button in the actual FLA that calls on the class, it doesn't change what I want it to change. Here is the class:
[Code]...
When I call for the class to make the button, it works. It also successfull calls the default.png from the class, but in the FLA the icon_retrofit.myIcon doesn't change the image to 'images/b.png'.
I'm using a Static EventDispatcher for all event handling in my application, and one of the issues with it is that the Static EventDispatcher becomes the target and currentTarget of the custom Event. Usually, I just pass the event to the custom event which it will carry as its own property. I usually call it "scope". So, instead of using "evt.target" or "evt.currentTarget" in the event handler, I use "evt.scope.target" or "evt.scope.currentTarget" instead. This works fine.
The issue is that I want to simplify this with custom events by overriding the target and currentTarget methods so that they return scope.target/scope.currentTarget. At run time, I get an error saying that I cannot convert Event to whatever I named the custom event. So, I tried not extending Event, and that produced an error stating that the class function is expecting exactly 0 parameters. I just want to make it so that people using Static EventDispatcher handling events as they normally would.
So, the question is there a way to override target and currentTarget while extending the Event class, or is there a way to create a custom event without extending Event?
I want a custom collection of TextFields that will update a property (to be posted back) when they lose focus (as opposed to using onChange and being too verbose). Here is the code of my collection...
I'm having trouble with the constructor for a custom Class tied to a library MovieClip.
Say I have a MovieClip in my library named Circle, which is tied to the class com.shapes.Circle . I want the Circle class contstructor to take 2 arguments, xScale and yScale:
public function Circle(xScale:Number, yScale:Number) { }
However, if I try to call that from in code, for example Circle ball = new Circle(3.14,2.0); , I always get an "Incorrect number of arguments. Expected 0" error.
Is it possible to have a custom class tied to a MovieClip that can take arguments, or does Flash not allow this? I'd asked about this before and thought I figured it out, but from looking at it now I apparently hadn't figured it out and had resorted to a sloppy workaround; I'm hoping to fix it now.
I have a custom function with parameter. I'm trying to pass the parameter to the gotoAndPlay as follows. This is where the function is called...
Code: myButton_btn.onPress = function() { myFunction("Apply"); } This is the function... Code: myFunction = function (fLabel) { trace(fLabel); gotoAndPlay(fLabel); }
Basically "Apply" is a frame label that I'm trying to send the playhead to. The fLabel paramater traces out properly, but the gotoAndPlay doesn't send the playhead to the appropriate frame label. It sends it to 4 frames before the end. It's really weird. Even if I add frames to the timeline, it still sends it to 4 before the end. I can get it to work perfectly in a "new" flash document, but not in my existing document.
I have a swf with an input text box and a button. When the button is clicked, I need it to open another swf in a new window on a different domain and pass the variables to a dynamic text box in the new window. I looked at local connect but I wasn't sure it would work because the two windows wouldn't necessarily be loaded at the same time and they are on different domains.
I am loading images into a movie clip dynamically from an XML file. Based on what image the user clicks, I would like to be able to open a separate window, displaying a different image. Ideally, I'd pass the variable of which image was selected to the new open window.I've done some research online, and am thinking I'm making this harder than it needs to be.
I've also seen where I could possibly pass a variable through ASP.NET, but am experiencing the same errors when trying to pass the variable. I suppose I could embed the popup.swf file in a new .aspx page, that would probably be acceptable.