Flex :: Superfluous Calls To AddEventListener("event", ThisSpecificFunction) Waste Resources?
Apr 6, 2010
I have ItemRenderers that need to listen for events. When they hear an event (and when data changes), they dispatch an event with their current data value. As item renderers are reused, each of them is going to add its callback in set data(value...)and pass the callback function in the event as well as the current data value. So, the listener of the item renderer's bubbling event will set someEventDispatcher.addEventListener("someEvent", itemRendererEvent.callbackListener). This will happen more than once. Does setting the same event listener on the same event for the same dispatcher waste resources? Does the displatcher see that it already has the listener?
I have a boolean variable, projectsLoaded that is set to false when my application loads. As i'm sure you can imagine, when the final project module loads, I set the variable to be true. Is there a way I can trigger a series of functions to run once that variable is set to true?
What are good books / site where you can learn the best practices for event driven programming in actionscript (3 obviously).
I've got a big project coming up and, to be honest, my flash is usually a big mess of classes and I don't want the the next one to turn into a ball of hair behemoth.
I've loaded text from database and I make links for each title, works good, until I try to add a item counter to have a next and previous button, allowing user to load 12 records.when inserting the next code, my links fire n times, not just once as expected, making browser to unespectly quit.what can be the reason?
some explanation
init is the number I need to increase or decrease to make database query
total is the number of received records by query
total_geral is the number of all records in database, so I can know if I must or not have a next button
t is the name of the mysql table where query should happen
code: Contadores function contagem(init:Number, total:Number, total_geral:Number, t:String):void { var contador;[code]...
is it possible to determining what object calls a function based on an event listener? for example, i have 2 buttons on stage that call the same function when they are clicked. i'd like the function to determine which button was the sender.
Does addEventListener(ErrorEvent.ERROR, handler) handle all type of error event, for example, IOErrorEvent.IO_ERROR, SecurityErrorEvent.SECURITY_ERROR, and other all error events? I'm looking for addEventListener() version of try catch(e:Error)(e:Error can catch all type of errors).
I have an array and want to add event listener to these. I have cards on stage and define their name using "event.target.name"HP Code:trace(event.target.name)returns the clicked objetc's instance name. But When I want to add event listener to these, some problems occur.I try to use it in so many places like;
I am a newbie in ActionScript 3.0. I want to make flash application that will zoom in object when on mouse over and write same text on the screen and zoom out object a clear text when the mouse is roll out.I have a probelm, when I roll over the object it zoom in the text appers and when I roll out the object returns to the default position. But when I roll over then I rool out and roll over again (not wait until zooming out is completed) the addEventListener does not stop and text is mixed (part pf the text is from first zooming in a nd part of the text ist from second zooming in)
This is my code: //import the tweenlite packages. import com.greensock.TweenLite;
I'd like to simply scale down a movieclip (that I'm treating as a button) when the user presses their mouse button. When users release the mouse button, I want my button to scale back to it's normal (.scaleX = .scaleY = 1) size. My button also has listereners for a ROLL_OUT event to turn off (.alpha = 0) a highlight movieclip that rests atop movieclips showing the different states the button can be in.
When I roll over the button, the higlight comes, but there is an annoying flicker problem. For some odd reason, when I press the mouse button the ROLL_OUT event handler function is called, yet I didn't scale the movie down enough for the cursor to be off of the actual button itself. I do not want that flicker. I'm not sure why ROLL_OUT is being called even though the event is clearly a mouse down, and within the mouse down event handler I am scaling the button movie clip, but not enough to remove out from under the cursor. In other words, if I click the button at its registration point, a flicker appears.
Here's my code.
//this add all the appropriate listeners to the button private function addMouseListeners() { this.addEventListener(MouseEvent.MOUSE_OVER, mouseOver); this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown); this.addEventListener(MouseEvent.ROLL_OUT, rollOut); this.addEventListener(MouseEvent.MOUSE_UP, mouseUp); }
[code]....
why my rollOut function is being called when the mouse button is pressed, and called once more when the mouse button is released.
I'm using this.loaderInfo.addEventListener(Event.COMPLETE to call a function when the flashVars are available as many tutorials/examples suggest. Is it correct to use it in the root of the main swf? The event is often not firing in firefox.
Here's the test code. Am I doing something wrong?
Code:
import flash.display.Loader; import flash.events.Event; var flashVars=new Object();
I'm working though the Adobe "Flex in a Week" video training series, and I've reached Exercise 9, which deals with creating a remote service call. Up til this point, the data source and images have been local assets (located in src/assets in my Flash Builder project). I access the room list by this:
private function httpFaultHandler(event:FaultEvent):void{ Alert.show("There was a problem","Error"); }[code]...........
However, when I run the application in the blazeDS container, I get no rooms despite the fact that the room list clearly exists in the deployment directory after running the application:
How can I debug the reason for this failure? The deployment process used by the Flash Builder tool is fairly opaque, and the tomcat instance isn't advertising 404s from Flex apps. Is there logging somewhere, or something, that needs to be turned on?
Could someone explain when does local SharedObject triggers event handlers added via addEventListener?I have tried and it doesn't trigger, after flushing.For example i have two object.swf both in separate browser tabs.I'm adding data inside object.swf on one tab and want event to be triggered in object.swf from another tab.Is it possible with native functionality and without remote type of SharedObject?Ofc i could write infinite loop and check local storage for changes, but it's the last solution i would like to implement.I was reading docs and played with example over there, but it doesn't trigger event, even if it is added before flushing.[code]
I'm using TweenLite class (AS3), I have very big project, should I removelistener of timingSprite.addEventListener(Event.ENTER_FRAME, updateAll, false, 0, true); in Tweenlite.as file, after my animation is complete? i'm affraid that ENTER_FRAME causes memory leak for my project.
By default, Flex uses signed .swz files to hold the Flex Framework classes. I noticed that under Adobe Flash Builder 4 > sdks > [version] > frameworks > locale > [locale] there are multiple languages supported.en_USen_GBzh_CNetc etcThe files in these directories vary in that they contain a "_rb.swc" at the end of each file. Files include datavisualization_rb.swc, spark_rb.swc, framework_rb.swc, etc etc. These are different from the rsls signed framework resources stored as .swz in framework .rsls. Since localized signed versions of the framework don't appear to be available, can I use these locale > [LOCALE] .swc versions instead as RUNTIME SHARED RESOURCES?
I DON'T want to compile different versions of my app for each locale, rather want to link the localized framework resource libraries at runtime. It would be nice to have the contents of the sdks > [VERSION] > frameworks > locale directory copied into my bin-debug/bin-release folder when I build my app.Is this possible? How would I set this up in Flash Builder 4?My assumption (I know about assumptions) is that there is a way to set up the Flex Build Path or supply compiler options that would cause all of the locales stored in the locales > [LOCALE] folder to be included into the bin-debug/bin-release of the project.
How I can configure copy-flex-resources goal and swf dependencies to copy swf files to the custom folder in my web-app? By default it copies to the web-app root.[URL]
I have a component called a TableDataViewer that contains the following pieces of data and their associated set functions:[code]This component is nested in another component as follows:[code]Looking at the trace in the logs, the call to set table is coming before the call to set dataSetLoader. Which is a real shame because set table() needs dataSetLoader to already be set in order to call its load() function.So my question is, is there a way to enforce an order on the calls to the set functions when declaring a component?
I am using Flex and with the AS3 libraries.I can make calls etc but when i get values returned in the event,they are in RawResult. I am not sure how to turn that into an arraycollection etc so i can make use of it in flex, or if there is a better way of accessing the data, generally speaking.
var friendsDoc : XMLDocument = new XMLDocument(e.data.rawResult); var decoder:SimpleXMLDecoder = new SimpleXMLDecoder(true);[code]....
I have to use flex 4 for the front end and php with Symfony 2 as backend. I want to use amf to call remote methods on the php. I have known that Symfony 2 does not have plugin for amf communications with Flex. In this case how can I connect them? or I have to use httpservice/webservices which is slow in performance.
is there any way to know which method caused a certain event to be fired? For example, in NetConnection API, you can have: connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); netStatusHandler is called everytime a Flash Remoting call fails for some reason: how to know which one failed?
Web service calls are asynchronous in flex, but I wanted to wrap a web service call in a class to provide synchronous encapsulation. Something like the below - the user could call getMyMethodResult and get the result returned by the web service. I expected the thread that recieved the soap response would populate the variable _result and mean that getMyMethod would, after a time, find _result is not longer null. But it doesn't! Can anyone explain why this does not work?[code]
I have the following application in flex. I want to call two different remote objects in parallel.
[Code]...
Now what the methods do is to print sth. when they are called, then wait 8 secs and print sth. after that. When clicking each button seperatly, it works, both methods are started in parallel. However, calling both method the same time, leaves one service to wait with its call while until the other is executing. How can I avoid that?
I have a Flex 3 application that makes a call to a webservice. That webservice calls returns a 2 Mb file that flex reads and parses. The problem is that it takes sometimes 45 seconds. I was wondering if there is a way to cache the response form the webservice? So the next time I load the flash movie it doesn't have to re-download the full file but just the updated data.
We are converting a Flex application to use some REST APIs.
When adding the mx.rpc.http.HTTPService class to the code, the SWF binary output grew from 175KB to 260KB. This is an unacceptable hit.
Is there any better way to do lightweight REST calls from a Flex app? Are we better off using an external interface JS just to make the calls from there?