Actionscript 3 :: Access A Function In One Class From Another?
Mar 25, 2011
I have a AS3 MP3 player. The player class is called Mp3PlayerFrontEnd and controls the play and pause buttons. The playlist class is called PlaylistBoxItem and loads the track names into a playlist from XML. On each line of the playlist is a download button. When the download button is pressed, I want the player to pause. I thought I could just _player.pause(); from the playlist class but it doesnt work.
So my question is... How do I access the function in the MP3 player class from the playlist class?
"Normally you will just have to get access to the Mp3Player instance in PlaylistListboxItem class and call pause() on it in download function. I guess the easiest way to achieve this is to create a public static instance of a holder class that could be used access the player from wherever in code."
public class Example { public function Example () { }[code]............
You can see that the two last classes extend the first one, and both have the 'variable' property. In case that I have an instance of Example and I am sure it is also an ExtendedExample OR AnotherExtendedExample instance, is there some way to access the 'variable' property? Something like
function functionThatReceivesAnExtendedExample (ex:Example):void { if(some condition that I may need) { ex.func()
I have a class Debug with a function called trace inside it which puts a TextField on the stage and outputs the text. Now I am trying to get the Debug.trace() function to do a "normal" debug trace as well from within side itself. of course this causes a recursive loop. I am trying to figure out how I can access the top level separately. I tried using namespaces such as AS3::trace but to no luck.
I know a solution is to rename my function to stop the conflict, but I would like that to be a last resort. It is being used in quite alot of places throughout my entire code so replacing it everywhere is going to be a ballache.
My first experience is build an aquarium with a lot of fish swimming, and they can be clicked. When one of them is clicked we should receive a trace message saying ("I�m a Fish!"). To do this, I thought that the best way will be:
1- create a document class, named Main.as
2- create a base class, named Clicked.as
2- create a movie clip with a fish.
3- export the movieclip to actionscript. In the mc properties set Class as "fish" and Base Class as "Clicked".
i have a game that i want to put load screen on, which i created a separate class for. first the main class is initialized and in the constructor function, it does an addChild(loadScreen) which places an instance of the loadScreen MC on the stage. within the loadScreen is a "Play Button" that when a user presses this button i want it to continue startGame in the Main class. the way i tried it was Main.startGame from the loadScreen class, but that obviously does not work. is it possible to call a function from a different class.i have three files:
I am trying to access another class function. I have 2 Classes and my main menu features are in my Main Class and I want to call that function from my Level ClassWhat is a good idea to approach this, some how I need to import it in a way but I don't know how I could do that.
I have a AS3 MP3 player. The player class controls the play and pause buttons. The playlist class loads the track names into a playlist from XML. In the playlist is a download button. When the download button is pressed, I want the player to pause. I thought I could just _player.pause(); from the playlist class but it doesnt work.How do I access the function in the MP3 player class from the playlist class?I did not make this, I purchased it. I asked the guy who made it for help and he responded back."Normally you will just have to get access to the Mp3Player instance in PlaylistListboxItem class and call pause() on it in evthndlDownload. I guess the easiest way to achieve this is to create a public static instance of a holder class that could be used access the player from wherever in code."
I do not know how to make a public static instance or where to put it. Attached is the 2 AS files. I can send you the zipped source of the whole player in a PM if anyone needs. On line 25 of Mp3PlayerFrontEnd you will see the public class where the player is defined.On line 94 of PlayllistListboxItem you will see the function to download the file. It is from there I want to pause the player.
I want to a listener on a tween on the document class that when it's finished, it goes to it's child's listener function, but I don't know how. I thought it'd just be a case of document.functionName but it's throwing an error.
[Code]...
1061: Call to a possibly undefined method startFade through a reference with static type Class.
After doing nothing with AS for quite a while (2007) I started to code a little project in actionscript 3.0. An extensive Java course cleared up a lot on OO programming, but probably gave me some false expectations too.I'm trying to program a game in which a human and computer player compete. The computer player needs to do the same actions as the human one.So for every onClick for the human player has on a screen element, a computer player class needs the same functionality. Now for some reason the clickHandler won't let me call the setter function set selected function (see the lines in red).
Tried to access a function in the document class by simply calling it. For exampe, the code in my frame is: Code: Select allinitButtons(); And in my document class I have the function: Code: Select allprivate function initButtons():void{ trace('anything'); } But it gives me an error. Even tried to change private to public the same.
I have a simple quesiton about class, method and functions inside a method and class properties. I created a new class form my custom component.. But upon developing it I found out that you can not access a property inside the function which is also inside a method..
Example Code: class myClass{ private var myProperty:Number = 1; //default is 1 //constructor public function myClass(){ }//Method [Code] .....
What I want to do is to access the property inside the method.. I also have a work-around still i cannot point a certain variable to a property of my class inside the method's function..
I have a movieClip named MC, and it's enabled with action script, with the class name MC_Rectangle and a Stage.I override the MC_Rectangle class file in a mc_rectangle.as external file.here is the code:
1. how can i access the variable "sequence" in "mc_rect"
2. how can i pass parametre from main stage to mc_rect via function setSequence(data:int)?
3. how can i call the function in addSequence() in mc_rect.
in asp.net, i usually use mc_rect.sequenct,mc_rect.setSequence(data), mc_rect.addSequence() to achieve my goals......btw, can function in mc_rect return out result to main stage?
I am trying to access a function in a loaded swf that has external class.. I would like to avoid having to put the function on my "Main" Doc class in the external swf and instead access the function directly from the class
This is what ive tried so far and it's a no dice:
private function startLoad(){ var loader:Loader = new Loader(); var req:URLRequest = new URLRequest("one.swf");
I have a initApp.as which instantiates a class which needs to access the "currentState" property and the States array as well. However we cannot get this to work as we cannot see how we can access this information.
Within initApp.as currentState is accessed via "this.currentState". This does not work in the class which is instatiated within initApp.as. The following error is thrown:
var environment:AvEnvironment = new AvEnvironment(...); addChild(environment); environment.addChild(new Terrain()); environment.addChild(new Player());
I am trying to access a public property from AvEniroments class through the Player class, however I'm getting an undefined property error (#119). I've tried the following:
this.x = AvEnvironment.xs // public property in this class this.x = parent.xs
I've also tried something like this:
var ev:AvEnvironment = AvEnvironment(parent); this.x = ev.xs
but I get a TypeError. Error #1009: Cannot access a property or method of a null object reference.
How to access a display object on the stage in a class which is not a document class?
I am looking for a solution that doesn't involve passing the stage as a parameter to the class.
One solution i always come across is using "TopLevel.as". Is it a good method because as far as I have heard using global variables is not recommended because it might cause some problems while working on big projects.
I was wondering how do you access the stage property from a different class that's not the principal class tied to the fla? Essentially, I have main.as which calls another class menu.as, and I can't seem to be able to use the stage.stageWidth property from menu.as. What's the proper way to be able to use the stage property from any class? Do I have to import it separately each time?
I'm just now learning the new object oriented way of scripting. It's been a wild ride, but I've finally learned how to keep script off my frames (very hard coming from as2).Here's my problem:
I have a TextField on the stage in my main .fla file named loadPercent.
I'm loading a jpg with preLoad.as and displaying the bytes loaded in loadPercent.
I can access my loadPercent TextField from my MainClass
I get three '#1120 access of undefined propery' errors for each time i try to access loadPercent.
a few basic questions: 1. all my files are in a folder in my documents, not in the flash directory, is this bad? I've seen people using com.whatever etc.
2. my main .fla file does not share the same name as my MainClass.as (it's not named MainClass.fla) Is that a problem?
I'm assuming these are inconsequential because my code seems to work up to a certain point.
Going further on my app, I felt in another problem. Despite having lots of posts on the web regarding this, none of the solutions worked for me In my document class (Main.as) ve two containers. One empty and another with a star that is being imported from the library. Here´s the main class:
Say you were importing flash.events.KeyboardEvent and you wanted it to extend the MovieClip class, is this possible? Where you dont have access to the class to just type "extends XXX"
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?
package{ public class Character{ protected var _hp:uint = 50; //Character Health Points protected var _power:uint = 5; //Damage dealt
[Code].....
I`m instancing a Character and a Player in the Main Timeline, all in frame 1. When I use: ""player.attack(character)"" it works fine by itself.
So I added the if (defender._hp <= 0) this.win() which gives me the following error:
1061: Call to a possibly undefined method win through a reference with static type Character.
"defender" is a Character instance, "this" is a Player instance and "win()" is a Player method. I try to call the Player method inside a Character method using the Player instance adding the "." and his method name
Do I really need to define the win() function in the Character class? Is there a bypass to use a subclass method in a parent class method if it`s called from an instance of the subclass?