ActionScript 3.0 :: Call Static Function From String Name?
Jan 29, 2011
I'm wondering if its possible in flash to be able to call a static class function via its name as a string. I know for you're usual case you can do this to call the function 'func'
Code:
this["func"]();
func():void
{
trace("I'm a function");
}
However I'm wanting to do this from another static function and in a static function you obviously can't use the 'this' keyword. I've tried just omitting it, or replacing it with the class name but neither work.
this is the function i want to turn in to a static function. just dont know how to make it a static function and call it from other classes. i think this would have its own file.
Is it possible to call/envoke a public static function from JS? I can't seem to get it working and Im almost certain it cannot but I thought I would ask the community.
I'm having a problem in flex 3 where if a static const I have defined is used as the parameter to a function call within binding tags I get a "1120: Access of undefined property NodePropertyMatrix". _propMtx is a ArrayCollection.
Is it possible to call a function from a string? such as if I passed the name of a function to this function, is there a command to convert the string to a function call? :
I have a class that has a timer function built into it. When this timed function is called, I would like to be able to call another function when the timer is finished (which I would do in the TIMER_COMPLETE handler).
If I pass the name of the function to my class function, could I use that string(?) to call the function at the end of my timer?
I've got different functions in actionscript 3, one function generates random numbers each time there's a button click. But with another button I want to call the random number which is generated at that moment. I have to call the random number from another function then, but these are two different functions so it just considers it as an undefined property.
[Code]...
But I can't call randomnummer1 because it's inside another function. So I get the property undefined error.
I'm using the Gaia Framework to develop a website, I'm still getting used to it but it's been great so far. There's a part in a page class where I want to call certain functions to initialize some effects on every deeplink. I'm doing good, but I need to call a function through concatenating some strings. Please have a look at some code of my class and read the comments for a better understanding:
Code: private function FUNC_que():Void{ SEC_que.b1._width = 0 stringTyper(SEC_que.t1, st1, 15, 8) var ts2 = new TextShuffle(SEC_que.t2, st2,SEC_que.b1);
I'm trying to do a test on the length of a string and then call a function depending on the result. This is the pertinent excerpt from the fla file:
Code: _loc4._comment = candles[_loc3].comment; // I want to find out the length of _comment and call differently depending _loc4.onRollOver = function () { if (_loc4._comment.length > 0 && _loc4._comment.length < 60) { show_comment(this._comment, this._x + this._parent._x, this._parent._parent._y - 50); } else { show_comment(this._comment, this._x + this._parent._x, this._parent._parent._y - 100); }};
Basically I want to check the length (in characters) of _loc4.comment and if its under 60 call with an offset of 50 and if its not call with an offset of 100.
Basically, what I mean is I i have few layers of classes, that calls and change something on the 1st(root) class. In between the process I have to use static var and static function.But when I want to run a function which does not change any variables, for example:otoAndStop(someFrames), I need to make the function a static function too or else there would be error
Code: 1061: Call to a possibly undefined method checkStatus through a reference with static type Class.
Ok, so I have a bit of a mess here (Which I'm probably not doing right anyway, which could be my problem...). I have a document class, I'll call it as Body.as, that creates an object from another class known as Headgear.as. There are also other objects created from other classes, or will be in the future. Now, amoung all this, Headgear.as and all of the other classes Body.as will use to make objects require the use of dragging functions (starting and stopping dragging). On stopping drags, position checks are then made to compare a particular hidden movieclip with the dragged MC.
To try and save myself some hassle (from making the same functions over and over to ensuring that when the objects are created I don't need to send a complete crapload of variables just to ensure the position checking function would work), I had the functions for the event listeners (Which are set-up on the draggable MCs in Headgear.as) just direct to functions in Body.as
Alright, so I have a class that is linked (via the linkage panel) to a scrollbox class. I'll paste the class here:[code]Ignoring the formatting, the commented out functions are the ones causing the issue. Adobe says that it's a static class and I can't use non-static functions. The way I wanted to use it was:
1. Call the page button generating function above.
2. In the main code in my program is this line:scrollbox.setClickFunction(historyContent.generate Page);So when the buttons that are supposed to be generated are clicked, the scrollbox class can call the History pages generatePage function and pass it which page to show. (I did this because there was a lot of text and a limit on how much would display, so small chunks sounded logical).
3. In the onClick function (which I haven't finished yet because the rest wont work), when you click one of the buttons it calls the set function. Its that simple.
I'm working on a function that replaces an existing movie clip with a symbol from the library and then designates an "updater" function for the new instance. I have the first part working as intended, but I'm not sure how to approach creating the "updater" function.I've considered using event listeners, but I'm not sure if that is my best option.The following is a excerpt from my code. This code is on the timeline of a movie clip. The movie clip is on the main timeline with an instance name of slideUpPanel_mc.
ActionScript Code: var window_mc:MovieClip = window_mc; //window_mc as it exists on the timeline var windowUpdateFunc:Function; //reference to updater function in window_mc
Let's say I have a Custom Event Class, and it has several Event types stored in static Constant:
[Code]...
Is there an easy way to validate that the type passed to the Constructor is one of the Static Constants of the Class, without having to check it against each value?
i'm trying to modify some code and can't figure out what the issue i'm having it. this is the(shortened) code:
public static function Lose():void { trace("OVER!"); Clock.stop();[code]...
this is the error i get: 1180: Call to a possibly undefined method OverIt.i just want to call a function from inside of the public static funtion.both function are inside this class:
I am trying to set the value of some static vars but I need to reference the class with a string rather than a proper constructor. In AS3 I can do this with:
var ref:Class = getDefinitionByName(classDefinitionAsString) as Class; ref[varNameAsString] = newValue;
I can't find an equivelant approach that will work in AS2 though. I have tried:
var ref:Object = new [classDefinitionAsString]; ref[varNameAsString] = newValue;
This seems to just create an Object and as the vars that I am trying to access are static I don't really want to be using 'new' I just want to reference the vars.
I get the alert but I can't get the lightbox window to display. When my as code makes the ExternalInterface call I get what looks like a page refresh and a blank browser window.
I have an enterFrame action that I use on a graphic:
[Code]....
Because I want to use the above code more than a few times, I tried to make it a function.
[Code]....
But for some reason the function call does not work when I call it via an action on a graphic where initially the code worked when it was explicitly written and not called as a function.
I need to get a javascript var in my Flash application. I like to be able to just set a variable in the javascript (client constraints) rather than define a function.
Can this be done? I am trying to use the ExternalInterface.call()
I am a newbee and just starting to learn about AS3. Copied some ideas and tried to paint a single particle on the stage for starters. No success! I get this...1061: Call to a possibly undefined method addChild through a reference with static type flash.displayisplayObject.In an "Particle.as" file I have this code...