ActionScript 3.0 :: Delay A Return Value Based On An Event Listener?
Jan 7, 2010
I can't think of a way to write a function that returns an object that is loaded from an external swf. I need to be able to make a function that waits for an event listener before returning the value. I want to be able to create objects that can load in external swfs with minimal and no redundant code.
Here is the over all logic of my function:
Code:
//First create an object and set it to function that loads in an external file
var MaskFrames:Object = loadFile(parentObjectName, "swfs/", "file.swf");
//Create the function that returns the loaded swf as an object
I have an event listener applied to an xml load and it currently traces out the values it grabs which is fine, but what I want it to do is return an array for me to use. I have the Array creation and return working from "LoadXML" (it returns the array) but I can't get this to work with an event listener.The event listener runs the "LoadXML" function fine, but I have no idea how to take the returned array for use, this is an example of how my event listener works right now:xmlLoader.addEventListener(Event.COMPLETE, LoadXML());and my assumption of how I would take the array (this doesn't work):var rArray:Array = xmlLoader.addEventListener(Event.COMPLETE, LoadXML());so instead I tried the following:
xmlLoader.addEventListener(Event.COMPLETE, function():Array{ var rData:Array = LoadXML(datahere); return rData;
I am trying to write functions as efficient and reusable as possible. One function in particular I wrote was designed to easily create new objects from externally loaded files. The problem I have is that I can't think of a way to make the function wait for an event listener to complete before returning the desired object. Here is what I have so far and I will point out where the problem is.
Code:
var myNewObj:Object = loadFile(parentName, "swfs/" , "file.swf"); function loadFile(parentObj:Object, urlLocation:String, fileName:String):Object{ var fileLoader:Loader = new Loader();
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.
I think I had this issue before I decided to try and learn mvc, which I'm doing right now. it's not a complex problem. But I can't figure it out. First, should I add swf address to my controller? that's what I think, considering it's between the view and the update. But mainly... I feel like it's just going to loop.. for instance. I add the .setValue method on a click handler. and it changes the url and everything.. grand. but during the change it fires off the change event of course.. now how can I make adjustments to my file based on the change event listener, if it's going to fire every time something in my movie sets the value?? as you can see i'm trying to use simplemvc's classes.. i'm just trying to learn though.
TypeError: Error #2007: Parameter listener must be non-null.at flash.events::EventDispatcher/removeEventListener() at project1_fla::MainTimeline/btnName()
I am trying to learn JavaScript and I am wondering whether JavaScript has a event listener just like ActionScript's ENTER_FRAME. Basically, I want this event listener to listen "all the time" not just wait for any particular instance (mouse click, keyboard event) of event.
if I have an event listerner (mouse, keyboard, enterframe,....event) that is being triggered, and when it finishes its event, something that is able to detect the finished event listener and fire out another sets of event.
It works more like MOTION_FINISH in TweenEvent, but it is only available for TweenEvent only, what if I want to detect a mousclick, keyboard, enterframe or even touch event?
My stage has about 25 buttons on it. Each button when pressed to tweens the background to some random x/y coordinates and then loads an external swf file.This is all working, but the timing is off. How can I wait for the initial background tween to end before I make the loader call to the .swf file.Currently each button's behavior is called on the MouseEvent.CLICK event which calls a function that knows its unique filename.swf. I know you can add the MOTION_FINISH even to the tween event but then I would have to call a new function and lose track of the button that initially called it.
I'm moving on to my next massive programming project and I'm trying to decide whether I should code it in as 2.0 or 3.0. I came across the new click event model in 3.0. Right now it's looking like a pain in the butt to me. So now I have to make a function and add it as an event listener? what the hell? What's the benefit? I understand stuff like this makes AS a more complete language but it's kinda annoying.
This is a very basic question but I can't seem to find an answer. I have a mouse over event and have created the buttons with the mouse overs which is working great. I created the actionscript to go to a specific web page when a user clicks the button. Now, I need to add a label to the mouse over so when someone mouse's over any area of the button, it will show them a particular name for the button.
I am sure that this can be done using actionscript in a mouse event roll over command but I can't figure out what I need to show the text. Here is where I am:
how can i access event.target outside event listener method.say for example
my_mc.addEventListener(MouseEvent.CLICK, onC); function onC(e:MouseEvent):void { var m:MovieClip = e.target as MovieClip; } trace(m.totalframes);/// not working
now what if i want to get totalframe property of m instance, in short for every movieClip clicked.
I am doing this inside a module containing viewstacks and their childs.Calling onInit() on creationComplete of module.When I am inside one of the childs of a viewstack of this module and press Enter, it doesnt not invoke the listener function at all (bp inside this does not get hit).
private function onInit():void{ this.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed); }[code]..........
This might be more of a subjective question, but is it generally best practice to have one dedicated method per event-types that you add an event-listener?
Such as:
myButton.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); myButton.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); //Somewhere else in the code...
[Code].....
And if you had a MouseEvent.MOUSE_UP, MouseEvent.MOUSE_DOWN and other relevant MouseEvents event-listeners to watch for, you could even set a switch statement to handle all the various MouseEvent types.
I have these buttons in a movie clip and I would like to have only one event listener for the parent, using event.target to point to the children. I have also tried event.currentTarget, and it didn't work.here is the code that works:
I have a code in AS3 that works when you rollover it. I need to use the same code but not with an eventlistener for a mouse event but a frame event when the timeline plays the clip
var coordX:Number = shaker_mc.x;var coordY:Number = shaker_mc.y;var timer:Timer = new Timer(10); shaker_mc.buttonMode = false; shaker_mc.addEventListener(MouseEvent.MOUSE_OVER,startShake);shaker_mc.addEventListener(Mous
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'm completely useless at maths due to paying no attention whatsoever to it in school when I was a kid so forgive my lack of knowledge of basic terminology.I need a mathematical function that will return a number based on a graph that starts at 0, curves to (eg.) 100 and then curves back down to 0. I have a feeling it has something to do with Math.sin or somesuch wizardry but am not sure.Basically, I want to feed it a number between (eg.) 0 - 60 and for it to return a number on aforementioned curve. The purpose of this is to be applied as a lateral force on some basic ball physics. The idea of the 'curve' is that (depending on timing of the shot) there will be a 'sweetspot' in the timing.
I'm trying to develop a simple as3 flash program that passes a collection a variables and returns a result based on the filtered results of a mysql table. Here is my as3 file:
[Code]...
No value is returned. If I replace with '$test4' and '$test5' with numbers such as 1 and 17, a value is returned. Where am I making a mistake?
I've tried to put some text with a TextEvent.Link inside a TextField. But, when I put this in TextField.htmltext at runtime using a for statment from 0 to 10, just the last seven get the Event. Can anyone help me?
I have a button then when clicked plays a random movie clip on release. The problem is if people don't wait for the clip to finish and just keep clicking, more random movie clips overlap the first one. I'm trying to figure out a way to make it so clicking is does nothing until the clip is complete, or a set amount of time has passed since the clips are all the same length.
I have a DIRECTORY_LISTING event, that is executed with the files in a directory. This code is n a method o a class that only does the return a array with this informations (the code is above). How can I add a return of this array on a method in the DocumentClass that invoke and receive this value?
I have an event that hits a web service and returns an array, i've built this into a public class. The web service returns the array through a result event, however what i want to do is return that array back to the component that made the initial call but i can't work out how to do it.
If i put a return on the class function it doesn't work as the array is returned in the result event, but if i put a return on the result event it doesn't return the value back to the initial component.[code]...
In my main i am trying to return the value of what is inside the text file applied to the value terrainArray.
Code: levelData = l1.GimmiData();
If i try to call the method it will return the value i first declared of the Array. I have wasted a few days of reading trying to figure out ways to get this value back to the main and as an Array as other ways i have tried give me Implicit coercion errors. Ive tried many different ways and the code below has changed many times. I even thought of using a psuedo threads style approach since it seems the value is called before load finish's but i could not get it to work. My java style approaches have failed miserably.
Note: the .txt file is plain text and for this simple .txt file xml will only complicate things. At most there will only be about 20 words nested in the txt file.
I'm trying to make a small piece of code that I can use on many projects. The idea is to send a couple variables to a server (username and score) and then read from the variables the server sends back. The problem is, I'm trying to send the score with the constructor function and want to access a member of the object to get the response variables. This works except for the fact that I don't have the variables until a Event.COMPLETE event. Here's the utility:
This is something that tugs at my mind a lot so I figured I'd ask the community. If I have a class called MyParentWidget and it contains an instance of MyChildWidget with an instance name of myChildWidget then I will often do something like this:
I got a question that is driving me crazy. I have a DIRECTORY_LISTING event, that is executed with the files in a directory. This code is n a method o a class that only does the return a array with this informations (the code is above). How can I add a return of this array on a method in the DocumentClass that invoke and receive this value?
I have a DIRECTORY_LISTING event, that is executed with the files in a directory. This code is n a method o a class that only does the return a array with this informations (the code is above). How can I add a return of this array on a method in the DocumentClass that invoke and receive this value?
//Lista arquivos public function listaArquivos(diretorio:File, nome_arquivo:String, lista_molduras:Array, index:int):Array {