I am using a delegate sub-class to perform helper functions for the main app.I have passed all references to it that it needs and it works well apart from the following problem:I also want it to remove an event listener from the main pp.eg:thisStage.removeEventListener(MouseEvent.MOUSE_UP,preOutsideBoundsDragRelease);The compiler tells me I need a reference to "preOutsideBoundsDragRelease" within the removeEventListener statement.eg: "access of undefined property preOutsideBoundsDragRelease
I am wanted to know how can i pass a parameter to the function which I'm calling using Delegate class. I know to pass params having static values such as true / false or a static string "hello".
Code: var myFunc:Function = btn.onRelease = Delegate.create(tihs, releaseHandler); myFunc.str = "hello"; function releaseHandler()
[code]....
Here str can be retrieved as 'arguments.caller.str' inside the function.But in case i want to pass the reference of the 'btn' button. Then how can i do this ?
What is the advantage of using a Delegate class in as2? I realize that it's old news for as3 guys. But Ive got a medium sized as2 project and Im going through my code and wondering why Im using Delegate.create sometimes. What's wrong with "apply"?I admit that I must have jumped on the Delegate bandwagon without thinking anything more than "dhuu...thats what the pros must be using".Am I right in saying that there is nothing at all wrong with simply saying "function_name.apply( this, args )"? Or am I missing something? Is it a matter of memory management? I've done a lot of research on delegation and read all kinds of blogs and scripts from little tweeks to the official.. to >200 lines. Yikes! At the end of the day I wrote my own little delegate class that worked for me (just a rewrite of Proxy without loops). But now that I go though my code I see that I might as well have just used apply because that's all Im doing with it!
Id like to be a better programmer. What am I missing and why shouldn't I do a find and replace here. Why is it better to wrap up "apply"? Will I be better readied to learn other languages?I just don't understand why I was so convinced that I needed the delegate class when I had "apply" out of the box.
I have a ColorPicker Component and I want to (on its CHANGE EVENT) have the LISTENER OBJECT ( known as A) change ANOTHER OBJECT's (known as B) color, based on the ColorPicker's.selectedColor. I do this because i need OBJECT A to keep track of the colors used. Also OBJECT B is dynamic and its instance is based on USER INTERACTION thus B can equal B1 or B2 or C based on mouse click at any given time but must only be 1 at any given time. SO I'm trying to "chain" the events together using listeners/ or delegation but I'm not sure at the logic.how do i reference the objects in the event? should I just try to chain B to listen directly to the event? How can I do this without having to attach listers to the colorpicker every time?
I'm having a hard time understanding to use the Delegate class. I don't seem to understand what it does from what I read online.
Will it work for this situation? I want to rollover a menu that expands onRollover. You can then click on buttons within the rolled over portion. Is delegate for me?
I've got records being populated into our database from paypal's Instant payment notification methods...great. now i turn to our flash cs3 app to populate a component datagrid with the stored database data and to my surprise I'm unable to identify any examples on how this might even be done.
How do you connect to an mssql database from within flash cs3 to retrieve data for displaying within a flash datagrid?
I can write a cfc from coldfusion to return a dataset, but overall i'm not sure if i 'have' to learn Flex, or AIR or what to get the records 'read'.
My ActionScript 3.0 bible is vague at best and resorts to php. (which i dont know)
i have a situation like that, and my goal is to access from onRelease either to the class representation and to the onRelease callee (the caller of the release function,that is the movieclip that catch the onRelease event):[code]
when i'm coding directly on the timeline, i usually create a var like this:
Code: var home:MovieClip = this;
so i always have something to reference the main timeline's scope. how could i do this in a class? delegate.create gets a little confusing.
i tried a few things like the following:
Code: class com.myClass { public var className:String = "myClass"; public static var version:String = "0.0.1";
[code]...
of course this is redundant because it'll scope just fine as parseNews();, but i'm just wondering why it's letting me scope it like this here and not in the onLoad declaration?
i instantiate a sprite-class "panel" from my main class. then i call a function "show chooser" inside "panel" which instatiates a sprite class "chooser" with some buttons. now when one of the buttons is pressed i need to call a function inside "panel" which removes the "chooser" sprite/class and which calls a function "onChosen" in the main class.
what is the correct/best way to reference these functions so that they can be called from within the panel and/or chooser classes. i am still too much in the old thinking that a function belongs to a movieclip and can functions with _parent. i need to learn the proper way now.
I need to separate the visual part of a component from the functional part of a component, so that I'm able to replace the visual one with a new one for another platform.
Declaring an instance variable _delegate with the delegate's interface isn't a problem. But how Do I forward non-implemented method calls of the visual part to those of the delegate.
I've written a class that will load multiple SWFs and then call a passed function when complete. My problem is that when all the movies have downloaded the passed function won't fire.
[AS] // LoadChecker // this class is passed am array and calls a function when all of the objects in the array are loaded //
i have a function that read a variable from a text file, yet i can only read the variable from within the function. How could i create a global variable or such that i can then read from outside of the function.
Code: var Make:LoadVars = new LoadVars(); Make.onLoad = function() { VARIABLE = Make.textVariable;
I thought I understood this stuff by now; the objects within a function are onlyaccessible within that same function, unless you return it to whatever called the function.However I dont think that you can do that for a function called with an eventlistner, so I set up what I thought was a global variable and set its contents within the function, thinking that the contents would be accessible later:
ActionScript Code: var bmpd:BitmapData; var URLReq:URLRequest = new URLRequest("sample.jpg");
Got a list of MCs being populated from an XML file. Basically a list of two different types of information. Some are type A, some are type B.
Want to have a couple buttons that filter based on type (so if I push the button for type A (called "typeAbtn" below), only those MCs appear and type B MCs go to _alpha = 0 or something).
Can't seem to come up with a function to do it. I can't figure out how to reference all my MCs from outside the first function correctly.
terrible attempt:
Code: function showMCs() { for (var j = 0; j<stuff.length; j++) { MC = timeline_mc["MC"+j];
Is it possible to delegate heavy computations to be handled asynchronously (on the user's machine)? When it's done, I could just fire an event, catch the new data, and update. I have played with this for lesser operations, by just setting up a que and only handle a few operations per frame; but is there another method? That feels like a heavy handed workaround, and it won't scale with faster/slower machines. IE: 12 operations per frame works fine on the test machine, but my machine can handle more, but won't do it because it's hard coded.
i want to pass by reference so i can use this variable outside the function.
What im doing is creating a global variable such as var cont:int; and then in a eventListener like enter_frame (stage.addEventListener..) calling a function called "mover", this function modifies "cont" value and i just want to print this value modified. The issue is i cant pass the value by reference just by const :S. The function is void, but if i change it to return int, its useless because each time i call the function, the value i want to return its created each time with a new value, beacuse i need to declare it so.. I read i can use a var such as Object but i really dont get it (im used to c++ i have to say)
I am trying to run a function of the main class, but even with casting it does not work. I get this error
TypeError: Error #1009: Cannot access a property or method of a null object reference. at rpflash.communication::RPXMLReader/updateplaylist() at rpflash.communication::RPXMLReader/dataHandler()
I'm attempting to write a performance testing function that can take any function, run it X times and spit out how long it took that function to run in AS3. I've got it working just fine if a function doesn't take any parameters but it comes up with an error otherwise.Here's the code:
public static function testFunction(targetFunction : Function, object : Object, ... parameters) {
I was just wondering if it was possible to get a reference to a function without knowing its name until runtime, in a similar way as getattr() can be used in python?
In AS2 I have several arrays constructed like this : var myArray0:Array=new Array(value,value,value...) var myArray1:Array=new Array(value,value,value...) var myArray2:Array=new Array(value,value,value...) var myArray4:Array=new Array(value,value,value...) ...
What I'm trying to do is use iteration to reference each array name to pass it into a function. Like : function doSomethingWithArray(arrayToPass){ ... } //Later somewhere in For loop... : _root["myButton"+i].onRelease=function(){ doSomethingWithArray(WHAT-THE-HELL-I-TYPE-HERE[i]) }
Say I have a class B that extends class A.In class A, I have a variable that I've declared to be a function, which gets defined in the constructor. Now, in class B, is there any way to reference that function with the use of super.functionName()?