ActionScript 3.0 :: Can't Access Variables From The Timeline
Mar 25, 2010
I have a class called Butterfly that extends MovieClip and exists as an asset in my Flash CS4 library.
The timeline of Butterfly consists of different wing flaps for different segments of its behavior. One of the animations is the wings opening up. Once the wings are open, dynamic text is shown on the wings of the butterfly.
Code:
//Butterfly.as
...
private var _textForWings:String = "Text For Wings";
I don't seem to have access to that variable from frame 159 inside of the clip.
What is the right process for accessing variables defined in the class by the frames inside?
Currently I'm using a getter for the _textForWings variable and using
Code:
//getter inside Butterfly.as
public function get textForWings():String
[Code]....
In this instance this works, but this things that i specify in the class are not avaiable to me within the timeline where i need them issue is really causing some headaches.
Is there a way to access variables on the main timeline in Flash other than MovieClip(root).myVar ? The problem I am having is that I have a movie clip that uses several main timeline variables, but when I instantiate it, it throws a 1009 type error (cannot access property of null object reference). My understanding of whats going on (and please correct me if I am wrong) is that when instantiated it runs the code on the first frame of the movieclip. However, it is not added to display list yet, so it does not have a root. Thus, all the MovieClip(root).myVar lines do not have a root to look at. Does anyone know of a way around this?
I am building a menu system. There are 4 main menu buttons for the 4 different pages of the site. When you click on one of these I want to animate the existing menu structure off the page in a fancy way. So each area has an exit animation if you like. The thing is i would only rather have this ONCE in the timeline for each page/area. So would it be possible to play it once and then after it, have a variable to determine where yuo go next that is already assigned a value depending on what button the end user pressed.
how to reference a variable that is on my main timeline into a class.Or I need to know how to pick up a variable from my php file (as in "myswf.swf?variable=3") into my class.This was all very easy to do in AS2.I just can't find out how to do it in AS3.
I am building a somewhat sophisticated slide menu. I have input a wait(); command using setInterval in the first frame of my actions panel. My wait() function works perfectly.I have also set a few variables to start out being false. Once a particular button is clicked, it sets the variable to true and sends the playhead to a particular spot within the movie. Actionscript then performs a command to that says if that variable has been set to "true" gotoAndPlay "this", otherwise gotoAndPlay "this-instead".
The problem I am having is that when I click on one of the buttons, it is somehow setting all the variables to true and sending the playhead to places I don't want it to go.Here is the code I have placed in my first frame:
button1 == false; button2 == false; button3 == false; button4 == false; //Make movie wait for ten second interval before resuming playfunction wait() {stop();var myInterval = setInterval(function () {play();clearInterval(myInterval);}, 10*1000); // stop for 10 seconds}[code]....
For some reason, regardless of which button is actually pressed, (cube2, cube3, or cube4, all of the variables are set to "true" and the playhead goes to whichever frame it wants to at that point.
I have a flash web site with multiple scenes for each page. I know, I should use multiple swf's, not scenes, and I probably will if I can't get this figured out.So what I'm doing is that my link buttons set a variable called "destination" which then moves the time line to a frame label called var_transition, where var is the prefix for the current scene.(for example, the transition frame on my primary scene is ov_transition, where the transition frame for the faq scene is faq_transition).So you see, I don't have duplicate frame labels, but what happens is that the transition works perfectly when moving from the first scene to any other scene, but after that things get a little screwy... When I try to go back to the primary scene, the transition loops itself to the point just before the timeline would move.
It's 5 frames with a tween of a single graphic that sweeps past the stage. When the graphic fully covers the stage, the time line should move to the frame label defined in the destination variable, where, at that point, the transition will finish by continuing it's tween until it fully reveals the stage at the new location.Also, I included a button on the second scene (auto parts) that should send the movie to the third scene (bank), but when I hit it, it sends me to the 4th scene (cafe) for no apparent reason.
number = '12345' I'm trying to hook my counter up to a PHP script that echo's a DB query. Now I've had no issue passing the variable and I can even display it in a dynamic text field but no matter what I try I cannot get the "number" varibable to use my PHP variable The dynamic text field shows the correct value clear as day but the counter just shows "undefined".
I have a main Movieclip called player. In that I build a second MC called 'play_pause' with own time-line: two frames. Frame one have MC 'play', frame two have MC 'pause'How do I access 'pause' MC when 'Player' runs, for example to set a glow effect based on loaded config. On MouseOver set for play_pause I do gotoAndStop('f2') to show the highlighted effect, but I want that highlight changed at runtime.
below is a function (belonging to file1.fla) that plays, starting at a specific frame when a button is clicked. function goToFuncMLR(eventMLR:MouseEvent):void {gotoAndPlay(11);} Instead, what I want to do is play, starting at a specific frame in a different .fla file. If the external .fla file is named file2.fla, what do I need to do to access the timeline of file2.fla from file1.fla ? I have a feeling the solution involves a loader method inside file2.fla.
I built my website on the main timeline with a fade in animation...stop(on the page) and a fade out animation. At the end of this fade out animation i would like it to call upon a variable to know what page to go to next.I am trying to tell my main timeline to gotoAndPlay a frame based off of a variable within a movieclip(about_mc this movieclip contains another movieclip which acts like a button(factsheet_mc)) that i have set in my main timeline.I set the variable with:
var buttonFrame; in the first frame of the main timeline
then within my movieclip i have another movieclip which tells my main timeline to play the out fade and remember a variable:
this.onRelease = function(){ --------"this" meaning the movieclip factsheet_mc------------ [code]........
i use MovieClip(this.parent) to access a variable that's outside of the movieclip i'm currently writing code in. However, this doesn't work within two functions.For example:
function editMainText (e:Event) { MovieClip(this.parent).headline.text = "Hello"[code]....
doesn't work.There are probably a few small errors in my code, but i essentially need to know how to modify MovieClip(this.parent) to work within the second function.
I've got a problem using variables in my Flash project. I've got a variable called "count" decelerate in a layer of my main timeline. Like this: _global.count=0; In my movieclip I want to set that variable from 0 to 1. For do that I wrote in a code layer of my mc: _global.count=1; Now... When I perform a new action the variables count return to 0. It's seem that Flash reset all variables.
I'm having a strange problem setting variables in movie clips from another (parent timeline). I run the following code from the parent movie clip to target child movie clips it contains.
I am trying to set variables in a movie clip targetted by the 'clip' argument in the setVars function but they are being traced as undefined. However, setting the function works fine. I have also tried manually defining the variables in the movie clip and am still unable to change them externally from the setVars Function.
I have some variables declared on the root timeline that I need to access from some MovieClips. In AS2 I would do something like this _parent.myVar from within my MovieClip. I intend on getting fully up to speed with AS3 but right now I need a quick fix.on the root timeline I have a variable : var myHitTest:Boolean = false;My MovieClip needs to access this var so I tried it several ways listed here. I've had no success.
I have movieclip that act as a container for a short animation. This animation has a script that repeat the movements until it's greater than a variable. But I wonder if it's possible to use this movieclip on several places on the timeline and have a several variables with different max number of movements that control the script inside the movieclip container? I have tested, but it seems like the value from the variable at the main timeline don't reach the script in the container!?
Okay so there are four variables on my timeline, two of which are arrays:
var greenSpriteArray:Array = new Array(); var pinkSpriteArray:Array = new Array(); var greenNum:int = 1; var pinkNum:int = 1;
whenever I refer to them from a class file by just the variable names I get a 1120 undefined variable error. But if I call for example stage.pinkNum I get "1119: Access of possibly undefined property stage.pinkNum through a reference with static type flash.display:Stage."
I created a classic tween on the timeline (not with actionscript), which moves a movieclip. If I change any property of that movieclip from actionscript, that layer stops updating, even if I change the value to its initial value. Can I access that tween on the timeline from actionscript?
On the main timeline I've got a movieclip, inside this movieclip I have some elements. Can I manipulate those elements from the main timeline through AS3? How?
I have a container SWF that loads other SWF's onto the stage using the load() method. I also am trying to access the MainTimeline of these SWF's using Event.INIT and a function and then telling that function that if the MovieClip, "clip", which is the loaded SWF is at currentFrame>=2 then do something.I can't get any response (not even trace responses)unless I specify "if(clip.currentFrame==1)". How can I get the container SWF to see past the first frame of the loaded Movie Clip? I suspect that I should be using ENTER_FRAME instead of INIT, but if I do that the Movie Clip appears and suddenly disappears without staying on the stage.
How do I access Timeline sounds from Actionscript? The sounds have to be in the timeline for my current animation, as the animation is timed to the sound. But other parts of the animation need to react to the sound's amplitude via actionscript 3.
I have a cloud named cloud2_mc and in its timeline i have a cloud layer, and an actions layer. I took the cloud and made it into a a Movie clip clip with an instance name of embeddedcloud_mc in this Movie clips timeline i have a 50 frame animation of the cloud breaking appart and disapating with a tween and i have a stop(); function on frame 1 of this layer.
What I want to happen is, when the cloud2_mc movie clip is clicked to play the animation of the cloud breaking appart. the cloud2_mc has a trajectory moving slowly accross the sceen continuously when the cloud2_mc reaches the side of the sceen it loops again. When the animation is clicked i would like it to continue across its path but, when the cloud2_mc reaches to left hand side of the screen i want the embeddedcloud_mc to reset its timeline and go back to its original state where the cloud has not broken appart.
My question is, how do I access an embedded movie clips timeline to tell it to play an animation on its timeline as well as, how do i make the same object restet its timeline to frame 1?
I have a game which consists of 5 frames.frame 1 asks if you wnat to play and that clicks thru to frame 2. I have a meter which is a movieClip, and if the meter goes to the last frame, there is an onEnterFrame listener that I want to tell the main timeline to gotoAndStop at frame 5, here is the eventlistener code:
this.addEventListener(event.ENTER_FRAME, youLoseGame); function youLoseGame(event:Event):void { stage.root.gotoAndStop(5); //stage.gotoAndStop(5); }
I am having some trouble using Action script to access Instances on a timeline. Lets say that I have a MovieClip in my library that has three frames (frame number 1, 2 and 3) and each frame has sprite with the instance name IMAGE (each sprite is an instance of a different library object.) The MovieClip has the linkage name ThreeFrameClip. I can create an instance of this MovieClip like this:
Var MyClip:MovieClip = new ThreeFrameClip();
I now want to make all of the sprites invisible. How do I do this? Is there a way to access each frame using an array like this:
I am trying to set up a situation where a user types a date into a textbox on the main swf file and then clicks submit. At that point the movie loads an external swf with a dynamic textbox in it that displays the text stored from the variable in the main timeline. How do I made it so that loaded movie can access that that info?
This movie clip is only one frame long and has a couple variables and functions in an actions layer on that first frame.
When I duplicate the movie clip I can't access either the variables on the timeline or the functions.
MovieClipA var blee var blah var tempClip:MovieClip = MovieClipA.duplicateMovieClip('createdClip', 100); trace(tempClip.blee) // This comes back undefined.
Is it not possible to retain the variables and functions inside a movie clip when it gets duplicated?
I know you can define the variables and functions after the duplication but I'd like to be able to have them almost like class attributes / methods for when a new clip is duplicated.
For some reason I can't access the timeline of the movie i'm loading.currently, I have a swf (we'll call it "loadME") to be loaded. it sets a _global variable for the timeline like so:[code]the actual content loads, but I just can't seem to access its timeline. I should mention that the _global.mainTimeline is a movieclip on the stage of the clip to be loaded.
Below is a common block of code to load an external swf (simplified for this example). My problem lies in the function at the end where I'd like it gotoAndPlay('playthis') within the swf that just loaded. I get errors like cant reference static type loader etc.
Code: var graphicLocal:Sprite = new Sprite(); addChild(graphicLocal); graphicLocal.x = 0; graphicLocal.y = 60; var graphicLoader:Loader = new Loader(); [Code] .....
At this point the external swf has successfully loaded and now I want to tell it to go to and play a specific frame. I've tried variations of graphicLocal.gotoAndPlay('playthisframe') but cant get it right. Keep getting a "cant reference static type loader" error.
The error is as follows:1119: Access of possibly undefined property shiftX through a reference with static type flash.displayisplayObject.shiftX is declared in the first line of the movie clipFirst i check to see if the child doesnt exist and if it does I access it like so:getChildByName("ball"+ccc2).shiftX)
Here is a simple example: Code: <? session_start(); if(!isset($_SESSION["intro"]) { $_SESSION["intro"] = 0; } // has the intro been played? // code for including the swf ?>
ActionScript Code: if(intro == 0){ myclip.gotoAndPlay(2); // play intro intro = 1; }else{ myclip.gotoAndPlay(24); } // skip the intro and go straight to the end