ActionScript 3.0 :: Calling A Static Method From A Class Instance?
Sep 21, 2011
My method has been passed a class instance, but it was typed through an interface so I'm not 100% sure what class it is. I'd like to attempt call a static method on that instance's Class.. is there an easy way to do this without being forced to pass the class along as well?
Something like this:
ActionScript Code:
public function foo(myBarInstance:IBar):void {
var barClassPointer:Class = getClass(myBarInstance);
try {
If all I have is an instance of an object, can I call a static method of its class? For fun, let's say I don't know what the name of the class is, only the name of the static method.
two classes, both extend EventDispatcher. Static method in 1st class calls instance method in 2nd event not getting caught. [code]also, since dispatchEvent() is an instance method, is there any way of calling it without first instantiating the class? i expect not.
I have two classes. The Main class calls a function, which is defined in a Second class.I'm getting the following error:Error 1120: Access of undefined property myFunctionBasically, I am creating buttons in the Main class that will add a corresponding Child to an Object in the Second class (if you click one button, child x1 will be added, if you click another button, child x2 will be added, and so forth).Here's the relevant code for the Main.as file:
I have a rather silly question but as3's document class always gets me confused.I have a public method on my document class. I want to call this method from another class that is instantiated from within an object in the library of the flash file (the same one on whose document class I want to call a method).
I have a support class called ICSNAArrays. It contains only static functions. In my main class file I have imported it and then when I try to call one of the functions I get a compiler error that says there is no method with the name 'ICSNAArrays' I don't understand this. There are no errors importing it. All of the spelling is correct I am 100% sure on that.
i have to read the current class name inside a static method. For non-static method it's easy i just call getQualifiedClassName(this) but inside a static method this is off course invalid.
When I type a class name without new before, FlashDevelop does not show autocompleate. Is it a way to enable that feature? (do you have the same issue?)
I have a public method on my document class. I want to call this method from another class that is instantiated from within an object in the library of the flash file (the same one on whose document class I want to call a method).
I have tried everything and nothing seems to work. How do I do this?
What I'm looking for is a way to reference the document class instance, to be able to access functions and variables that other classes need. I'm currently doing it with this little piece of code I found on some blog or forum.
Code: Select all// This is in the document class private static var _instance:DocClass; // I have tried setting this to public and accessing it directly as well public static function get instance():DocClass { return _instance; }
[code]....
This seems to work as it should in Flash CS4, but when I try to run the same code in CS5 I get the following error message:
Code: Select allC:UsersImpenDocumentsMy DropboxFlash Project\_SPELTankGameMenuShop.as, Line 238 1195: Attempted access of inaccessible method globalFunction through a reference with static type DocClass.
I need to know when an element is added to the stage (using main document class). So i use :
Code: public override function addChild(__child:DisplayObject):DisplayObject{ super.addChild(__child); trace("child added"); return __child; }
Which works fine. I also use a static class, to which i pass the stage using :
Code: public static function setStage(__stage:Stage):void{ _stage = __stage; }
But if i add to the stage (_stage) a MovieClip from the static class, my "real" stage doesn't seem to get that something was added. So i guess _stage !== stage. So why is this happening, why is _stage not getting the methods of stage ?
Is there a way to make an static method act over an object of its class that is already on the stage, without using the keyword "this"? I mean, like "generic object of this class: do what I'm telling you to do, wathever your instance name".My goal is to create an method that get called by any object of this class, based on the changing on the value of an external variable, but since I cannot use the "this" keyword to reffer to each instance, I could not figure out a solution.
I have two classes, in one (the Start class) I want to run a function I created in another (the Brown class). I commented in Start where I want to call the "addBrownListen" method. I tried doing it with the line: Brown.addBrownListen(); But that didnt work.
Here are the two classes: package { import flash.display.MovieClip; import flash.events.Event; public class Brown extends Rebounders { [Code] ......
I have a class ErrorMessages which holds all my error messages as static constants. So I could access them like ErrorMessages.PASSWORD_INVALID or ErrorMessage.PASSWORD_TOO_SHORT. I want to know if it is possible to have separate classes that hold subset of these constants and access them like ErrorMessages.PASSWORD.INVALID or ErrorMessages.PASSWORD.TOO_SHORT, etc. This way I can more structured static structure and makes it much easier to use autocomplete. I tried few different ways and couldn't figure out if this was possible..
I have a class called Unit. When I use this class in a .fla file, I create it by saying:
var unit00:Unit = new Unit(...);
So then it creates a gfx representation of the screen for me. I would like to have a method like this:
PHP Code:
[code]....
So how do I get this to work? I know that delete this will not work when defined inside the class. How do I target the .fla's instance name when I don't know what it will be called?
In the following code (thoroughly debugged) the first case (1) in the switch is met and a new instance of BannerSingle is assigned to retVal (the return value). Unfortunately, while the second case (2) is never met, the assignment therein to retVal takes place and I can't compile. When I comment out the assignment to retVal for "case 2:" everything works fine.
I've tried using an if/else instead and I still get the same odd behavior. Also tried a number of solutions involving separate variables, etc.
Error: Access of undefined method getStatus through reference with a static type Class.
Here's what's happening in the code. I'm trying to create a User class that is instantiated at the start of my app. I want the User class to have properties like mainStatus, with helper methods like setStatus etc. Pretty simple.
so on my HardDisk I have my flash_working folder with all my flash projects. I created my class file/package under the directory com.mypackage
[Code]....
That's all the code I have.
If I try to access the public var mainStatus through user.mainStatus that gives a similar error saying:
Error: Access of undefined property mainStatus through reference with a static type Class.
I wrote a singleton class to keep track of some variables across my application.
I am getting a syntax error that I can't figure out, I am sure that I am missing something simple but it's been one of those days. Anyone see something wrong with my code?
The error is 1061: Call to a possibly undefined method setResult through a reference with static type Class.
My function in my singleton class
public function setResult(resultNumber:int, value:int): void { switch(resultNumber) {
I have the actionscript code here for a bubble popping game. When the game starts, bubbles fall down from the top of the game to the bottom and score is kept for the most bubbles clicked or popped in 30 seconds.The size of the bubble is defined by the initialize method in the code, and uses ToString() to calculate the score. ToString gives me a 1061: Call to a possibly undefined method Random through a reference with static type uint. This error which I cannot figure out where it comes from.[code]
Is it possible to create an instance of a class without triggering the class' constructor?[code]In the case above, say I wanted to play around with a Foo instance, but I really don't want my global.foobarCount going up, nor do i want to pass in any value at all for bar.This could be useful for introspection where you want to learn more about or pass a particular class object but don't want to provide required arguments or trigger anything that the constructor may do.Is this at all possible? (Obviously, new Foo() just doesn't cut it here, since it would throw and arguments error, nor does just using Foo, since that's a reference to the class itself).
I've always just developed my projects in as3 instead of mxml and I usually just setup my application to run a main actionscript file as my main doc root, sort of like how you do it in flash but in flash builder I do something like this:[code] how can I call place a call to that function hitme() within the call_from_outside() function between the <fx:Script> tags?The reason why I'm doing this is because I have some flash swfs that I load into another swf file and I can access the top level public functions of those flash swfs, however the top level of the flash builder/flex swfs is the main mxml file not my fake as3 class root. Of course I should think there is a way for me to access the as3 class methods of the mxml component but for keeping things with the same structure, I can bypass having to modify my loader scripts.
I am trying to call a method that has some xml functionality and It keeps coming up null.What I am trying to do is; I have a page that has four dynamic text fields that get their content from an xml file. I would like to create a method that will output the contents to display in the dynamic field. Maybe my approach is WAY off here, but my supervisor wants all xml related tasks contained in a xml.as fileMain.as