ActionScript 3 :: How To Use Functions From Different Classes
Apr 3, 2012I have 2 classes, named Class1 and Class2. How would I use a function from Class1, in Class2?
View 4 RepliesI have 2 classes, named Class1 and Class2. How would I use a function from Class1, in Class2?
View 4 RepliesLet'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();
[code]......
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
Code:
package
{
[code].....
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();
[code].....
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();
[Code].....
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:
Main.as
package
{
import Bus;[code].............
I need to call a function that sits in a class called MainClass.The function call is made inside a class called Rooms.
I have an event that is supposed to call the function, but when I do I get[code]...
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:
ActionScript Code:
package com.plaidfox {
import flash.display.MovieClip;
[code].......
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:
Main.as
ActionScript Code:
stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
stage.addEventListener(KeyboardEvent.KEY_DOWN, fireBullet);
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:
ActionScript Code:
package
{
[code].....
I have 2 classes
Code:
package com.MyClass.basics1
{
//importing classes to use[code]...
Is there any other way to reference a function ?
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
Code:
package{
import flash.display.*;
[code].....
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.
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]...
View 1 RepliesI 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.
[Code]...
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?
View 2 RepliesI 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:
[code]......
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);
[Code].....
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.
I'm trying to design a class that uses functions from multiple classes, but as Google tells me, you cannot extend multiple classes.
Here's my code:
Code:
package com.levelGenerator {
import flash.display.Sprite;
import flash.events.KeyboardEvent;
[code]...
How do I use the Keyboard functions and nextFrame() without extending multiple classes?
P.S. A language with object-oriented principles that doesn't allow multiple inheritance? Lame...
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?
View 3 RepliesIs 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?
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
View 9 RepliesIm 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.
Is there any way to auto-import as3 classes (internal/intrinsic Flash Player classes at least) using Emacs ?
Looked for as3-mode and actionscript-mode but nothing working was found. as3-mode can import class if it is opened in buffer (but not *.mxml files)
The examples I'll use don't do anything - they're classes without ANY members - no variables, methods, anything.
Let's say I extends Sprite and call it MySprite.
I save it in test.core
[code]...
Now I create another custom class called MyWindow that extends MySprite.
I save it in test.windows
[code]...
Then I create another class that extends MyWindows (the example I'll use is a document class - but that doesn't matter - I've tested using an instance too).
[code]...
Notice that I'm not even trying to instantiate the helper classes - just having them there throws the error.
If there is only a single helper class, everything runs fine.
Also note that - as far as I can tell - this only happens when extending one class from another package, then extending that class with more than one helper object.I'm pretty sure there's no namespace bumps or typographical errors, as this is a very pared-down version of the original application.
EDIT: seems the problem exists even without the crossing packages - even extending MySprite in the document class with multiple internal classes generates this error.
I am creating a library in AS3. Inside the library I make use of a bunch of classes/packages that need not be exposed to the end user of my lib. I want to only expose one of these classes.
I guess my questions are:
1) How are libraries commonly distributed in AS3?
2) Is there a .jar equivalent in AS3 that developers can include, but will only have access/knowledge of the classes I've declared as public?