ActionScript 3.0 :: Reference To A Global Function With The Name Same As Class?
Feb 4, 2011
How would one get a reference of String global function (not class). According to language reference this function does exist (and I'm ready to believe it does), but, say and you have a:
I have a class file defined in my package as MyGlobals.as.[code] (I have tried adding/removing "static" and "dynamic" to no effect.)I am trying to call a touch event from the main timeline in this way:myObject.addEventListener(TouchEvent.TOUCH_BEGIN, MyGlobals.myFunctionName);(I have tried removing the class name to no effect.)When I compile I get the error 1046: Type was not found or was not a compile-time constant: TouchEvent. This error occurs on function definitions in the class file.What syntax/concept am I getting wrong? The functions were working fine when I was using constants in the timeline, but I need to be able to reuse these functions over and over again, so I wanted them to be able to take touch event variables so that I didn't have to write a different function for every touch event.I tried googling "error 1046" but I can't find anything useful.
i want to create a global function in actionscript 3.0 i can do this in flash as2 As3 remove that _global. if i want to create a _global function then want to create a static metod in another class file...?
I am trying to run a function of the main class, but even with casting it does not work. I get this error
TypeError: Error #1009: Cannot access a property or method of a null object reference. at rpflash.communication::RPXMLReader/updateplaylist() at rpflash.communication::RPXMLReader/dataHandler()
So I am trying to access a variable that is defined within my parent code from a class which has been called from my parent code. I am using this:Code:TileCode(parent).game_quests.add_quest(0);to try to access the game_quests variable (which is defined within TileCode). However, for some reason it is not picking that up. It is working for other variables which I have called and ran in a similar fashion
I've basically got an MC (menu_mc) that is on the first frame of the main timeline. I want menu_mc to call functions on the main timeline depending on its status. When the function is successfully called, I want to move menu_mc, however I get a null object reference despite the object menu_mc being visible on the stage.
As you can see from the commented out lines, I've tried doing the same thing with eventDispatcher, but have been unable to listen to the event from the main timeline.It seems as if the function is being called before menu_mc is placed on the stage, despite the ADDED_TO_STAGE eventListener.
I want to create a MovieClip, pass this MovieClip to a function in another class where it will be modified.The problem is, when I pass the MovieClip as a parameter to a function and start making changes, the changes are only made locally. The "copy" of the MovieClip inside the function gets changed, but the "real" MovieClip back in my main game class remains unchanged. Here's the code from my Main class:
Code: var resourceLoader:ExternalResourceLoader = new ExternalResourceLoader(); var myMovieClip:MovieClip;[code].....
My problem is that when I load this swf into another one it won't run and I get the error://Renderer (WARNING) :: startEnterFrame :: Unable to add a listener to the enter frame event because a global stage reference does not exist.The animation classes require that I add a global stage reference and I have added that in my main App class that is the document class in my animation swf like this:AS]import com.boostworthy.core.Global;Global.stage = stage;[/AS]This works fine when the swf runs on its own but when I load it into another movie I get the error mentioned above. I've tried setting this reference in different classes (my animation swf uses a number of classes) but no dice. I think that I might need to pass a reference to the stage from the top-level movie to the animation swf though I don't know how to do this.I have tried like this:
[AS]//code on top level movie var myApp:App = new App(this); //code inside App class (main class used for animation)
I've done a class to be able to listen to the event for a CLASS not on an instance.
Code: class net.webbymx.events.XClassEventListener {[code]....
why did I do this.It cames with my rugby game.I have player in two teams. When a player throw the ball I want the other teammate to act like "wait for ball" and the opponent like "seek for ball". Plus I'm lazy (and I don't want to register the listener for each instance of the player I'm creating). So this class is made to be able to handle as many instance of a class I want without adding a listener on each of them. I'm just creating a global listener on the class and then I will be able to receive dispatched event for any instance of this class .so in my team I can do
I have a bunch of movie clips which I am adding to my stage using addChild, I need each clip to "fade in" when it is added. I made it work for one movie clip using this function on the movie clip itself
Code: this.alpha = 0; function imgAlpha(e:Event):void {
I have a simple banner which rotates through three different movieclips. I would like to create a function on the main timeline that controls the length of delay for each of the clips.
So far this is what I have on the main timeline, which is a single frame:
I'm an old C programmer been away from programming for years. Now we have a project requiring Flash and I've been elected. Just installed CS4. I have 16 panels in 4 sets of 4 that rotate left to right. (Big learning curve on that one - fading transitions in the right order...). Each panel must have a unique url when clicked. (16 urls).I've looked through many solutions, most of which seem unduly complex. I think that the simplest short of going to onRelease() with AS2 (Later I have to add mouseover changes in the graphics) is something like this:[code]I haven't found this solution out there. Is there a gotcha because the a#Link vars are accessed as global within the scope of handleLink? It doesn't feel right, but it works fine and 16 global variables doesn't seem too bad.
I'm having an issue with a global variable. I'm trying to give it a value within a function and it isn't working.The variable is imageList. It's an XML List. I'm making it global so I can use it anywhere in my project. I suppose if someone has a better idea to avoid the global variable, I'm up for that too. But for now, it seems like the way to go.
Here's my .as file: package { public class MyGlobal {
[code]....
It's giving me the same same Error #1009 as above. It seems like a scope problem, but why? Shouldn't it work since it's a global variable?
I am currently creating a calculator in AS3. Since i need to create a lot of buttons, i need to make a function, so i dont have to write everything into the variable again and again.
I was wondering something to do with global functions, it seems if you declare a function as global inside the first frame of a movieclip...and try call it from the first frame of the _root timeline it does not work.
Example.
This code is in a movieclip on the first frame of the timeline called "my_mc";
Using Flash CS5 Professional I have created a symbol, dragged it onto the stage, and given it an instance name of GreenLight1. If I want to make this visible from the document class, I can simply do the GreenLight1.visible=true; and poof it's good to go when I test the file. As long as I stay in the document class I am good to go, but now I'm trying to move to another class and hitting ALL kinds of trouble just trying to get Flash to allow me to access this simple object. All I am looking to do is have this GreenLight1 go invisible (visible=false) when a certain condition occurs in this new class and Flash just won't let me access GreenLight1 at all. Things I've tried thus far:
stage is passed to the class and is referenced by _stage and is working just fine when I do _stage.addchild or anything like that. So I have tried "_stage.GreenLight1.visible=false;" and I get "ReferenceError: Error #1069: Property GreenLight1 not found on flash.display.Stage and there is no default value." My document class extends Sprite, so I figured I'd try the root function. So I tried "Sprite(root).GreenLight1.visible=false;" and I get "1119: Access of possibly undefined property GreenLight1 through a reference with static type flash.display:Sprite." I tried to create the Resource class as described therein. To which I came across the same problem that I started with in that it doesn't know what GreenLight1 is to begin with so I got "1120: Access of undefined property GreenLight1." Here is my code for Resource.as (am I supposed to pass something to this class from the document class?)
I've currently got this script (see below). What I'm trying to do is make it so I can load several images from a loop. I've played with a few different things, but I'm not completely understanding how the listener works as it relates to the loader. It seems when I try and add a second image, it only enters the onComplete function 1 time, therefor i only get one Image loaded. As a side note, I've also been trying to dynamically change the x and y position, but I'm not sure how to modify a global variable from within that function, or better yet, pass in the arguements during the eventListener call to onComplete.[code].....
The only problem is it can't "see" myGlobals. I was wondering if someone could tell me why it can't see it! I'm sure it has something to do with scope.
But there will be hundreds of these objects, so I'd like to have each one call a global function, so I tried code for each button like this:
on (release) { GlobalFunctionName(this._name); }
But for some reason, the value being passed is null. (Although if I switch "this._name" for a string, that works correctly.) Question: How can a drone object pass its name to a central function? Should I be using "on (release)" or should I use a listener within each object instead? Also, is it best to make them Buttons or Graphics or Movie Clips since there will be so many of them?
I have a function in which I declare a bunch of variables that I need to be globally accessible from outside the function.[code]I need numVals to be accessible from outside the function.I tried changing the name to _global.numVals and it didn't work
After having recently just discovered the delights of actionscript, I am at a loss to work this out. I'll explain:I have a series of buttons which, when each one is clicked, need to grab their instance name (this._name), strip the first three characters from it and send it to a global function in another mc within the swf.Instead of stripping the characters, I am happy to do:
In AS3 I want to use Global variables (not many) that can be accessed in any class and declared somewhere where the fla file or any as file can use them and be ale to change the value of them anywhere. Can I do this in AS3?
I have 2 classes: bullet class:Extends MovieClip and stores information about bullets while handling their movement and properties. enemy class:Extends MovieClip and simply so far stores the x,y co-ordonates of the enemy. I want the bullet to home onto the enemy object in the movement function by referencing the x and y position of the enemy.
Here's the code: //Main as3 file stage.addEventListener(MouseEvent.MOUSE_DOWN,clk);//stuff that happens on click function clk (e:MouseEvent){ shotcnt += 1; shotobj.push(new pshot(player.x,player.y)); addChild(shotobj[shotcnt]); [Code] .....
Given that both of these calls to getQualifiedClassName return the same thing (mx:Label), how would one go about programatically differentiating between an instance of a class and a reference to the class...
var lab1:Label=new Label(); var lab2:Class=Label; var qcn1:String=getQualifiedClassName(lab1); var qcn2:String=getQualifiedClassName(lab2);
In other words, how could I know that lab1 is of type Label, while lab2 is type "Class". typeof() simply returns "object" for both... getQualifiedClassName returns "mx.controls::Label" for both...
I am doing a looping background with 2 identical BG movieClip (B1 and B2). Those 2 are "new" by the same class.
var B1:MovieClip = new BG(); var B2:MovieClip = new BG();
But because this BG class picture is loader from the internet and the picture is rather big. When I addressed its loading by using progressEvent. The picture is really loaded 2 times. Is there anyway I create B2 based on B1 without using new BG() again? Since it definitely makes a new BG with Loader code inside.