ActionScript 3.0 :: Can't Access Variables That I Declare In Main Timeline From A Child
Sep 14, 2009I can't access the variables that I declare in the main timeline from a child.
I attach the child to the stage during runtime.
I can't access the variables that I declare in the main timeline from a child.
I attach the child to the stage during runtime.
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?
View 3 RepliesSo I am loading in external swfs and once loaded in I want to stop the main timeline. so I do the following.
var swf : MovieClip = e.target.content ;
swf.stop();
which doesn't work, because I have trace statements in the external swf which fire off after that command is called. Which, here is another weird thing, When I trace through the loaded swf, it says it has two children, a shape, and a Loader. The shape is weird because what I have is another movieclip on stage so I should get instaceXX, and I dont know where that Loader class is coming from.
which also brings me to another question which is everytime I add the swf to the stage it duplicates the instance, and I run out of memory really fast after I keep removing and re-adding it. all I call is.
targetMC.addChild(swf);
then after the swf dispatches an event saying its done.
targetMC.removeChild(swf);
This code is currently contained within my "mc_1" movieclip. I want to be able to have this code on my main timeline, however no matter what I try I constantly get errors, multiple different versions. I've tried adding mc_1 infront of everything, but that just gives an output error about a Sprite.Also, I'm currently using visible to control whether the back image to the textbox should show - What I'd really like to do is control it using a child, but they're movieclips not buttons, so when I try to addChild within the function it errors saying I'm trying to control a movieclip within a simplebutton function.
import flash.events.MouseEvent;
stop();
mc_textbox.visible = false;
[code].....
Someone the other day provided me with this code to a remove a child from the main timeline from within a movieclip.
parent.removeChild(MovieClip(parent).mc1);
This works fine, but how can I write an if statement to test if its in the display list before removing it?
As I'm getting an error if I try to remove it once its already been removed.
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)
View 4 RepliesOn 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?
View 3 RepliesI 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 very serious issue and need to be fix ASAP. Kindly check [url]... it is a flash based website, there on main flash file which have all the navigations (menu tab), when user click on any tab its load a external swf according to that tab, that swf has flv player which take videos dynamically, If user click on the trailers tab its load trailers.swf which have the player and the playlist when the user click on the video of the play list its player that video but the problem is that if the video is still in loading process and the user click on another tab so the main.swf load the swf according to that tab but the audio of the previous video is running...
thats i m trying to make a function in the child.swf(trailers.swf) which will pause the video so i will call that function the other tabs, so if the trailers.swf is loading and user click on comedy so that function will pause the video of trailers.swf and play the comedy.swf, So kindly tell me how i will access the function of [url]...
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 dont understand how to access the main timeline
I am loading one swf file in my application and after loading the child swf ,just i want to play one particular key frame in the child swf and the label names is called "start".
[Code]...
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'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 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!?
View 2 RepliesI've simplified the problem but basically i have two files: parent.fla and child.fla.. parent.fla has its own class definition of type ParentClass and is basically defined as below..
public class ParentClass extends MovieClip
{
public function AddListener()[code]....
These classes all have the relevant imports etc so there's no compilation errors.But when i try to publish the child.fla i get the error
saying..1120: Access of undefined property btnOnStage
my work around at the moment is just putting in var btnOnStage:SimpleButton; into the ParentObject class which lets it publish it fine, but it obviously causes conflicts when i publish the parent.fla as btnOnStage already exists.I know this is because basically the object is on the timeline in the parent.fla and is being accessed from the class and has never been defined. But how do i get around this? Is there a way to tell flash that there will be a variable like that there and dont worry bout it?
I have make 3 classes objecthandler, box and nav. Nav is child class of objecthandler, I have make an instance of box into objecthandler and now I wanna access property of box through nav.
See the code:
Objecthandler class
package code{
import flash.display.MovieClip
import code.box
import code.nav
[Code] .....
The external swf is located at:[url]....In the parent.swf, I put System.security.allowDomain(url....)When you click a button on the child.swf it's suppose to trace data from the parent.swf, but it returns undefined.What am I doing wrong? I MUST access data from the parent.swf
View 4 RepliesI need to access variable that lies on the main timeline first frame from a action script inside a movieclip that is inside a movieclip.
View 2 Repliesmy main application is a sprite heres my code:
package {
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.Event;
[code]...
when my main app is a MovieClip (extends MovieClip) is working.but my main app is a sprite i take this message cannot convert ROOT@16b26df1 to flash.display.MovieClip.can i change this line
MovieClip(this.parent.parent).traceMe();
to something like this Sprite(this.parent.parent).traceMe();
Let us say we have a movieclip "mc1" on the stage. We also have another movieclip "mc2" inside mc1. We have declared a variable, say, var number1:Number=5 on the first frame of the main timeline. Now we go inside mc1 and then inside mc2 and write some code on its first frame. Is there any way to use the variable number1 over here? Can properties of mc1 be altered using the code written here? In AS2, it could be done using the "_parent" command, but it doesn't seem to work in AS3. (when we use parent and try accessing a property, it says that it is possibly undefined)
View 3 RepliesI have some main time line variables I need to access and manipulate from inside a movieclip timeline. However, when I try to subtract from a global variable, one that's declared on the main timeline on frame 1 outside of a function/whatever, it says:Symbol 'lemon_cup', Layer 'actions', Frame 1, Line 54 1120: Access of undefined property lemons1.
View 1 RepliesI have a menu movieclip that has several buttons, each with listeners writtin in the movieclip's actions layer in Frame1. The script goes something like this:
[Code]...
I have a child that I added during run time. I would like it to access a variable that was defined on the stage. npFurn:Number.[code]...
View 9 RepliesFrom the two .as files below, I get the following error when I run: 1119: Access of possibly undefined property importantNumber through a reference with static type flash.display:Sprite.
[Code]...
I have a MC with a class attached to it, and I have other MCs within that MC. I need those MCs to be able to access variables within the main MC class. Here is a quick'n'dirty:
Code:
class Foo extends MovieClip{private var h:Number;
private var subMC:MovieClip;function Foo(_h:Number){h = _h;}
subMC.onEnterFrame = function(){trace(h);}}
How can I access variables in the Foo class from another MCs scope? I have tried using static var but aren't they constant regardless of instance?
On my movie clip timeline, what's the syntax to access a variable on a main stage timeline?
View 1 Repliesas always, this seemed simple in AS2, but i am stumped with this simple command in AS3.
i have a main timeline [one scene] that has multiple movies, one after each other, in different frames. i need the buttons that are placed in a layer below the movies to access various movies in the scene. was really simple in AS2.
it appears that i can get my button to go to the frame, but the movie contained in the frame will not load and or play. [i have 2 frames dedicated to each movie, the second frame, in the actions layer has a stop command]. the following is the actionscript and the errors i am getting.
AS3:
food_btn.addEventListener(MouseEvent.CLICK, playfood);
function playfood(event:MouseEvent):void {
gotoAndPlay("food");
}
[Code].....
I have a class, and I'm trying access an object outside of that class. For example, in my class I have function: onNodeLoad(node:Object)with that function I can access the properties of node just fine, but outside the class I cannot.In the function that is inside the class, I can trace (node. title)I want to be able to do that trace on the main timeline.[code]So right now, in my main timeline, trace(con.node) comes up null.I've tried to declaring _node public, private, public static.
View 1 RepliesI have two frames in the timeline of my flash file. On frame 1 there is a movie clip. How can I access this movie clip with code located in frame 2?
It doesn't matter whether the mc is already placed on the stage or is added dynamically from the Library - I just need to access the alpha property. I can provide a more detailed description of my file if needed.
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.