ActionScript 3.0 :: Call Functions And Classes From Variables?
Oct 20, 2009
I was wondering if ActionScript had some way to call functions and classes from variables, like they do in PHP:
function funcname() {
print "Potatoes come from tree";
}
$function = "funcname";
print $function; // Prints out "funcname"
$$function(); // Prints out "Potatoes come from tree"
In case you don't know the syntax for PHP, you should know that anything perpended with a $-symbol is a variable.
in my Main class, i try to call a function from another class, but when i compile i get this error:1136: Incorrect number of arguments. Expected 1.i have seen some fixes involving an event in the OtherClass and (null) when i call it, but it dosent seem tohere is a code that describes my problem, what do i have to do to make this kind of code work?m i doing it wrong, or do i have to do something else?OtherClass
does one protect this? I mean, Flash Cs5 ide has this little "protect from import" option but I don't think that's enough.I mean, the only thing I can think of is a scrambler.Something that would rename all variables, functions, and custom classes to some random hash. So something like myVar would be renamed to x41dDefh5kjFCe. It would be like a big "lol have fun" to someone who might manage to go that far.Still, that isn't enough. I mean, anyone else know of any good ideas or programs? Just trying to protect my work
Let's I have a class Square that has a several functions. I want to call it from a class Grid, which is a group of Squares.So in the class file for Grid, how would I do this:
Code: public function doSquareFunction(thisFunction:Function):void{ square1.thisFunction();
so I'm having this problem where one of my classes can't locate a function. The function it's trying to use is in another class, so I was wondering if there was something special you had to do. This is what I'm basically doing: One class
Let's I have a class Square that has a several functions. I want to call it from a class Grid, which is a group of Squares.So in the class file for Grid, how would I do this:
Code: public function doSquareFunction(thisFunction:Function):void{ square1.thisFunction();
I have Flash project that is set up something like this:
myProject.fla
- document class = myMenu.as
- the document class imports a menu item from menuItem.as (import menuItem;)
I have a function in myMenu.as that sets the text formatting for all the text fields on the page. I want to be able to use this same function in menuItem.as so that all the formatting is consistent & you only have to change it in one place. How do I access this function from both myMenu.as & menuItem.as?
okay, i'm refactoring a huge ActionScript file, and so trying to move some functions into their own classes. why is this not working? i've got a function in my primary class:
// ... private var testBlock:Sprite; public function testingINT() { testBlock = new Sprite();
I'm coding a small flash game, and wan't to access different functions between classes. In C# I'm used to just making it static, but I'm having some problems with it.Here goes:
This probably has a simple solution, but I'm a complete newb to actionscript and I could really use some guidance.I have a file, called Politismos.fla. The document class of this file is: com.plaidfox.PolitismosClassPolitismosClass.as is as follows:
I've been working my way towards better OOP design lately and I've come across a problem with accessing functions in other classes from my Main class. Here is the code:
They are listening for functions that are within the Player.as class, these functions control the dynamics/movement of the player itelf. But for some reason I'm getting a 1120 error(access of undefined property). Basically how do you listen/access for functions within a different class?
asically I have a Player class with methods (i.e. Moving the player) that I want to listen for and implement in the main class. To put it simply, I'm creating the player methods in the player class and then calling them in the Main class. But for some reason I'm having some trouble, I'm still trying to get used to all this OOP design.Here is the (Main) code, it's not alot:
I have a flex application that loads swf files and displays them using the SWFLoader object.is there a way to provide different classes and functions for the swf application to use? [code]...
I have a Flash application that creates a sort of powerpoint presentation. All the 'slides' are stored in an XML files which is read and processed.
I'm trying to build the presentation using this XML file. At the moment, my main class has it's initial function main and a static function processXML main initiates my database class with a function called initDB. One of my issues is that initDB forgoes processing because it's dependant on an event listener. On completion of loading the XML files, the event listener initiates my static function on my main to create objects from this file.
The issue is that because the event listener continues the processing (after an indeterminate amount of time), the functions are no longer controlled by the main class.
I'm new to the object oriented stuff and I'm trying to learn how it works. Here's what I've started on - it's led to a few dilemmas. I have one flash file and two .as each with one class. In the timeline of the fla file, it reads: ActionScript Code: var FileObject:ScriptFile = new ScriptFile(); function onEnterFrame(){ FileObject.CallInput(); }
Call input is a function in "ScriptFile.as" that calls another function in "Input.as"; ActionScript Code: class Input{ public function Input(){ } public function keyListener(target:Number):Number{ [Code] .....
In output, when I press Left, it will say -5 over and over again, and I'm trying to add to xpos value but that isn't happening.
Im trying to load some data, but I want to outsource the job of data loading to different classes.lets say XMLLoader class will get the url and return an xml file. The problem now is that such procedures are asynchronous, the class has to wait for XML to load and then call back the caller class and return the xml data.One way of doing this, is returning the data with a custom event. once its loaded then dispatch this event with the data in. However, I was wondering, if there is a way to do it with some sort of asynch call, meaning the caller class sends the request, then waits for a response.is such a thing possible? is there a better way or do I need to stick to my custom events?
I have a rather general question regarding OOP. How do constructor functions execute with multiple class extensions? I'm making an orbital physics simulation, and every spatial body is of the class SpaceObject, which extends Sprite. Then, I have all earth-type planets be of the class Earth, which extends SpaceObject. There are certain parameters that I'd like to set for every single SpaceObject (like position and size) in the constructor function, and certain parameters (like density and mass) that I'd like to set in the constructor of class Earth.But from the main timeline, when I create an instance of class Earth, I can only enter the parameters of the Earth constructor, ie
Code: var planet1:Earth = new Earth(density, mass) Or I can create an instance of SpaceObject:
For some reason I can't get this nested set of functions to work, it executes the first tween and the tween invoked after motion of the first is finished but it doesn't ever get to the third!
ActionScript Code: var t1:Tween=new Tween(p1,"rotationY",Strong.easeOut,90,0,50,false); var t1x:Tween=new Tween(p1,"x",Strong.easeOut,-900,0,50,false); t1.addEventListener(TweenEvent.MOTION_FINISH,onMotionFinished);
I have this function in the parent class: ActionScript Code: private m_colors:Array; protected function set colors(clrs:Array):void { m_colors = clrs; }
Then, in my child class I want to call this as: super.colors = [15, 255]; But it throws an error, it says: Ambiguous reference to colors. If I do the same with a common function, not a setter one, then just calling it with its name in my child class works fine.
Is there any way to override static functions of Flash top level classes? Lets take Stage or Math for example. What if we want to change Stage.addListener functionality, is there any solution to this problem?
Is there a way I can find out all the classes that are related specifically to the iphone in CS5? (ie Accelerometer, Gestures...ec)
What I want to do specifically is try to access the camera and then if there is none (say it is an old ipod touch) then go to a photos/camera roll folder and show those. Apparently in the help files, in the Air 2.5 runtime there is a "browseForImage" function that allows you to go to said cameraRoll but it will not compile if I publish under the iphone OS option (does not have specific stuff I am importing from an example flash.media.MediaType, flash.events.MediaEvent, flash.media.MediaPromise). Upon looking up the errors, there is no mention whether it is for a specific device.
When I create anything in a library, it's basically a class right? Meaning I can do essentially the same thing with use of a package in an AS file? In AS 2.0 this would probably mean I can add specific functions on this class as I can do when I use flash's object interface and add script to the specific class object itself. However, in AS 3.0 you cannot attribute code directly to an object right?
This leads me to my second question. I basically want to create a flash mp3 player (I've coded this already), but make it so that it is an entire package of contents, so I can add it to my website when a mouse event is detected and then take it off the website once it's no longer needed (to conserve memory and assure an overall nice experience). The problem is that I have many objects and subsequent functions (play button, pause button, etc), and want all of this to be contained in one file. Is this even possible?
Im working in FlashDevelop on a 'breakout' game where you control a paddle with your mouse and a ball bounces around the screen and breaks blocks.Right now I have a Main, Paddle, and Ball class. In the main class I added a Paddle called player as a public static variable. In my Ball class I have a collisionCheck() function. This way I can access 'player' from within my Ball class for testing collisions.
At somepoint in the game there will be a powerup that adds mutiple balls to the stage. Right now I have a function in the main class call addBall() to add a new Ball to the stage.I am now running into trouble. Working on the collision check method in my Ball class, I dont know how to check if a ball is hitting another ball because as of right now, balls are being added with the addBall function, so they can't be declared as public static variables.
I am trying to figure out how to call a function in one swf from another swf both of which are loaded into the same master swf.This is my function in workPhoto.swf which is loaded into level 5 of the master.swf:
Code: function killThumbs() { image_mcl.unloadClip(thumbnail_mc);
I am trying to call a C++ function from actionScript3. using Programming ActionScript 3.0 > Using the external API > Using the ExternalInterface class > Calling external code from ActionScript, I could call function from JavaScript .
it will be good if i could call C++ functions directly from Action Script.