Actionscript 3 :: Function Running Before Variables Are Defined?
Jun 15, 2010
I am trying to add an init() function to a MovieClip, but when I run the function from scene1 the variables that were set in the MovieClip are not defined yet... The MovieClip was dragged to the stage from the library.scene1:
I have been playing around with combining flash and PHP/Mysql for some time now, mainly sending one flash variable to a PHP file and then retrieving a result and turning it back into a different flash variable. My problem is i've got to the stage where I need to access these variables from other functions. Now I think I need to find some way of defining them outside of the function, maybe using global vars? Well i'm not gonna pretend I know anything about it. The two functions from which I access my PHP variables is as follows:
ActionScript Code: function btnDown(event:MouseEvent):void { var variables:URLVariables = new URLVariables(); var varSend:URLRequest = new URLRequest("http://localhost/test.php");
[Code]....
So I need a way to access the phpVar1 variable in a totally seperate function
The following bit of code outputs that 'myRequest' and 'i' are not defined.
Code: //Load external asset function loadfail():void {
[Code].....
after a bit of reading I find that it is because 'myRequest' and 'i' are defined within functions, and so those variables are not available outside those functions. How can I get around this? Make a class?
I have a situation where, upon loading my swf, I add an event listener to the stage to listen for keyboard commands. One of them is to listen for the spacebar, and if it is pressed, it should play a movie. The problem is, that movie is not loaded until later on, depending other user interactions, therefore, until it is loaded, the reference to it would be undefined.
But if I wait and add the listener for key commands only when the movie is loaded, then I can't utilize the listener for other keyboard commands, like RIGHT or LEFT, which are the buttons which get you to the movie in the first place. Is there a way to add a conditional or something to prevent that code from being executed if the video is not defined yet? Here's my code:
The problem which i have is about using variables (specifically "myVar") defined in one as3 class file, in a separate class file. After searching for this via google and on this forum i have not (maybe because i have been searching for the wrong thing), so here is my situation which i think should be simple to solve:Inside a fla called "Main" i have 2 MovieClips. The first is called Main and has a class linking to the com/Main.as file which has this code:
Here is the problem:I have 2 external as3 files in a "com" folder next to the FLA within which i am working. The first of these ( "Main.as") is the document class. The second ("events.as") contains variable definition "myVar:Number = 0" which i want to be able to access and change inside Main.as. I am sure that this is possible, but i can't get it working (flash very keeps pointing out that I have made an error. Specifically that old classic: "1046: Type was not found or was not a compile-time constant: myVar." which has puzzled me since the dawn of time.
I've been trying to get these variables that are defined inside this XML Array, outside of the XML array using _global, so that i can use them else where in the animation, but i'm not getting any purchase.
What im going to be doing is replacing the bottom info with just a link-strip, unfortunatly I didn't want to have to sift through ten dynamic text fields re-animating every one with tweens to the way I wanted them so I set them all to a parent variable defined as "mt", such variables being as follows:HomePortfolioDocumentationDev BlogCase StudiesSupport For
I have completely hit a wall. Here's what I'm after. I have two sets of radio buttons, each of which controls what loaded swf appears on stage. Then, depending on which button is clicked in group one and which button is clicked in group two, a third swf appears. I can access the value of each radio button, and I'm passing it into a variable (I think - the trace command works) but when I drop it all together into an if/else statement, no data is passed.
Here's the code: //printArea is a movie clip on stage, which has dynamic mc's attached via code var thisFront; //function for what happens when fronts radio buttons clicked frontListener = new Object(); frontListener.click = function(evt) { [Code] .....
I have a flex application that's compiled with flex 4.1.I want that flex application to load an swf that contains the variable score and i want to be able to modify this variable.I wrote two versions of swf, one compiled with as2 code and the other with as3. this is my flex application:
ActionScript Code: for (var j:int = 0; j < 20; j++){ if (values==j){ var "ingredient"+j:"Ingredient"+j = new "Ingredient"+j();
[Code].....
it doesn't work for what are probably obvious reasons but I show it to give you an idea of what I'm trying to do which is change the name of the variables while the program is running.
i've got this mc component i've created and reuse on some sites i've made. It's a real simple shoutbox that grabs info from a database using a php script.What i'd like to do is have this component refresh every 200 frames, which means, grab most current msgs and post them in the database.so for example, i have a movieclip called MC1. there's a function in MC1 that goes like: grabdata = function() {}; this basically calls the php scripts, loads the info, and so on.i wanna call this function from the root or even a parent MC.I have considered using prototypes or a class, but i dont think it's really necessary for something that seems basic enough.
I am trying to load external swf's into my main swf through nested movieclips.Its like this: STAGE > contents_mc > loader_mc Also most of the code is from tutorial's out on the net.Content_mc I have the following MC's in content_mc (on 2 separate layers, if you want to know):
- Preloader_text (PText) - loader_mc (LoaderExt)
[code]...
Problem: I am having a problem in calling the function ClipLoader and loading a clip through the loader_mc MovieClip (the text in Purple). The reason I am using this is eventually I will put in code in contents_mc to load various external swf per conditions i give.
I'm trying to define this function so I can pass the CardButtons sprite to the Add Cards function. It "works" but there's one problem: the CardButtons sprite used in the function is determined by the value of i at the time of the function call (or in other words, the value of i when I click the sprite).
I want the sprite passed to be literally the value of CardButtons[i] at the point when the function was defined.
I'm trying to have JavaScript call a function from my ActionScript.
ActionScript: import flash.external.ExternalInterface; ExternalInterface.addCallback( "playSong", playSong ); function playSong():void { var _sound:Sound = new Sound(); var _request = new URLRequest("music.mp3"); _sound.load(_request); _sound.play(); }
Code: class className () { //constructor function className(targetmc,linkId) {
[code]....
My question is how can I set up an interval when I click on a button that is created from within the class.
I need my function updater to keep repeating untill I clear the interval.The only way I can figure out is to give the full path like this._parent._parent.instanceName.updater inside the setInterval, but although this works I think is just dumb to hardcode the instace name of the class. I could of course try to pass the instance name as a parameter, but I would really love to find out the smart way to do this (by the book).
I am using flex builder 3.2, Action Script 3 and develop for Flash Player 10 and am quite new to it. when I call a method of a self defined class, I get the 1061 error (not defined). But the class and the method exist and are public, so what the hell am I doing wrong? Flash Builder is even offering me this method in the auto-completion, so at least the builder knows it... I have already tried cleaning the project (as this is the common source of strange errors when working with java/eclipse),
edit: solved... The problem was that a package had the same name as the variable I used for the class. Very strange error message, thumbs down for this .
i am quite newbie towards to actionscript 2.0 cos i am now learning on actionscript 2.0 here is the file attachment for you to check.Greetings.zipOutput cannot be worked.I am hoping to see the exact output:Greeting = Hello!Salutation = undefinedSubject: Brick Oven
I have a main time line and a button defined. Can I define functions in actionscript anywhere and call them from anywhere? For example, if I call a function in main timeline and it's defined in the button, does that work?
I create a new MovieClip, call it Somehow, and link it to the name "MyClip", for example.[code]...
They must be MovieClips, because the functions not only response with hello, like in the example.
So I want to create the Clip copies and call the functions in one step. This example is also not working when i put it inside of a onLoad, or onEnterFrame and so on.
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'm currently working with soundmanager2 in an IE/flash context (not html5). The issue is that audio playback of mp3 content does not occur for the following case where the 'onload' callback function is defined as null OR as a function that does almost nothing.
I have a bunch of thumbnails i'm getting from XML that have this code on them...
Code: for (e = 0; e < total; e++) { _root.web_thumbs.thumb_button.duplicateMovieClip("button" + e, e + 12); _root.web_thumbs["button" + e].c = e;[code].....]);
It loads the XML variable fullimg into an empty movie clip on its own layer in the timeline.The movieclip, "container", is assigned this code, but the code isn't on the movieclip, it's on a frame designated for just actionscript.This is the code
The Problem Is...When there is no image loaded into the movie clip, it works fine, and shifts around depending on the location of the other movie clip, "content". But, once there is an image loaded into "container", it stops shifting around depending on the location of "content", and just sits in its last location.The only thing i can IMAGINE being problematic is, on another frame, where I have the XML being cut up and assigned to variables, at the end I have a remove _root.onEnterFrame, removing the onEnterFrame at the beginning of the XML to variables line of code, so that is stops running.
In Flash Actionscript 3, if a function is defined in Frame 1 of a flash animation and the animation loops, does it store another version of the function in memory upon each loop.
[Code]...
If so, is it a best practice to check to see if it's the first time the frame has been run, by setting a variable and checking it's existence, or is it a non-issue because the compiler checks to make sure that a function has not already been defined?
I have two functions, both are puting objects on stage and few seconds removing them, after decent of period of time mc steps to 3 frame where movie should stop, but those objects still appear on third frame, but I don't need them there. How to stop those functions?