ActionScript 3.0 :: Access Root From The Loaded Swf
Jan 13, 2011
I am migrating to AS 3.0 from AS 2.0 and I am unable to access the root of the main swf from the loaded swf. In AS 2.0 i simply used "_root.gotoAndPlay(frame number); I have also tried Movieclip(this.root).gotoAndPlay(frame number); but it doesn't work.
I am migrating to AS 3.0 from AS 2.0 and I am unable to access the root of the main swf from the loaded swf.In AS 2.0 i simply used "_root.gotoAndPlay(frame number);I have also tried Movieclip(this.root).gotoAndPlay(frame number); but it doesn't work.
How can I access variables defined on root from a loaded movieclip? The loaded movieclip path can differ, so I cannot get to root like parent.parent, for example. I thought something like this.root.varName may work, but it obviously doesn't.
Im having whta I think is a quite common problem. I recently started migrating form AS2 to AS3 and Im buidling a home made template for all AS3 projects..
I have just loaded portfolio.swf on top of main.sfw. The buttons on portfolio.swf share the same class as the buttons on main.swf
I have a root stage, and a MC that is called from the root stage.Now from that MC, i will called in another MC2, and I wanted to placed the MC in the center of the stage. The reason I could not use normal ADDED_TO_STAGE at MC and define the center is because MC is not place in the exact position of the root stage (as in x, y=0). So if I would target MC2 at MC stage center, it would not be the exact center of the root stage/screen.How can I called the root stage properties rather than adding MC2 into the stage?
I cant believe how the simpliest things are more complex to do in AS3.I tried to target a movieclip from inside another movieclip called bat_mc and these dont work!root.ball_mc.gotoAndPlay(2);orlevel0.ball_mc.gotoAndPlay(2);
Say I have code in my main mxml and in a function like this:
this.addChild(someContainer);
and now I want to refactor code and move this to it's own class and method in a separate file. How could I access root now, since this obviously now points to the new class I created.
how to add a listener to a button inside of a movieclip that is in the library? Example:Root->work_mc(timeline)->workss_mc(added with Addchild)There is workss_mc in the library that gets loaded when someone clicks a button inside of work_mc. This is achieved with addChild. Within workss_mc there is a close button to close this. I've run into problems with working the navigation with this b/c I need to declare and create a single instance of workss_mc at a scope where it is visible to both click handlers, Doing this will place both handlers in one location. So in order to do that I would need them all to be where the navigation code is, the root. So how can I access workss_mc from the root?
The code below returns the error message "Error 1120: Access of undefined property stage."
function select(event) { if (event.target.name is Stage) { currTool.target = null; } else if (event.target is Sprite) {
[Code]....
I understand the reason for the error is because I'm trying to access the "Stage" when I'm not at my Document Root. The question I have it how do I do this same thing when I'm not at the Document Root?
I have a button in the frame 1 when i clicked it,it goes to the nextframe in nextframe i have movie clip named "circle". in frame 1 in action layer i have variable named "i" it has a number equal 20; now i'm in "circle" movieclip in the action layer i want to write a command for checking "i" if it's equal 20 the "circle" movieclip play but i can't find "i" how can i access to "i" variable in frame 1 ?
What I'm trying to do is very very basic however its flat out not working. I'm trying to add a event listener to a button located within a movieclip thats on the root time line.Here's the code:
I have a movielclip, nav_mc, inside which contains my navigation buttons. Lets say I want to effect the time timeline. Before in AS 2.0 I could simply go
function doIt(evt:MouseEvent):void { _root.january.gotoAndStop(2); }
That doesn't work. Returns this in errors:
Warning: 1058: Migration issue: The property _root is no longer supported. This property has been removed. The closest equivalent is the Stage, which serves as the root of the ActionScript 3.0 display list..
Neither does
root.january.gotoAndStop(2)
or
stage.january.gotoAndStop(2) (1119: Access of possibly undefined property ball_mc through a reference with static type flash.display:Stage.)
or
_stage.january.gotoAndStop(2)
or anything!
How do we do this very simple thing now in AS 3.0
TLDR;
How do I reference the _root timeline in AS 3.0 since _root. no longer works in 3.0
I fixed this error before where the source of the problem was that 'stage' was inaccessible from where I was putting the code (not in root). I deleted it and it ran fine, but the Event listeners that they were attatched to did not work anymore. I need these event listeners but when I try to put 'stage.' back infront it wont work.
This is what I had when it worked (when this file was still the root):
I am having problems accessing my xml on the server. On my local drive, it works fine. As soon as I load it on my site, it no longer pulls the xml rss feed.
Here is the working example, to get it to work, I had to copy the feed into an xml file, and place it in my fla root folder[code]...
I am working on a complex application that was originally developed with AS1 for Flash player6. I am trying to update this to Flash player 9 while keeping the script to AS1.
Now my main movie is published in Flash player 6 and the child movie is published for Flash player 9.
I am opening the main movie in Flash player 9 and it works but from my child movie I am trying to acces a method on the root timeline of the main movie.
Can someone tell me how can I acces the main movie root from within the child swf?
Anyways, I've been trying to figure this out for quite some time.Let's say I have my document class. I'm guessing the document class can correspond to the first thing that gets run? (such as the "main" function in most C++/low level languages).If I set a variable in it:var myNumber:Number = 10;how would Iaccess: "myNumber" from other objects in my stage?Like a movieclip on my stage for example.If I go inside that movieclip into the movieclip's first frame, how would I say:trace(TheDocumentClass.myNumber);Another similar question is, what about the actual stage frame?If I click on frame 1 of my stage, set a variable:var aNumber:Number = 5;how would I access it from other objects?In my movieclip's first frame, what would I put?trace(root.aNumber); ?trace(stage.aNumber); ?
I have a swf called anim1.swf acting as a preloder and loading anim2.swf. anim1.swf is attached to a document class called Racine.as. Once anim2.swf is loaded, how can I target the root of anim2.swf?
For example, anim2.swf contains 2 clips called clip1 and clip2. clip1 contains a child called clip1_1. How can I access clip2 from within clip1_1 by using an absolute way (I don't want to use the parent property)?
N.B : a way would be to have a document class attached to anim2.swf, but here there is none.
I have a SWf application built in flex 4. One part of the application relies on accessing a public variable ("step1") set at the application root, and is accessed with
var app:Object = FlexGlobals.topLevelApplication; trace("step one is "+app.step1);
This, while not optimal, has worked fine. Now, hoever, I need to load this entire application into another application, and I can't figure out how to access my step1 variable any longer.I have been loading the swf into the new parent application like so:
public var myLoader:Loader = new Loader(); public var pizzaContainer:UIComponent = new UIComponent(); private var myUrl:URLRequest = new URLRequest("chickensoup.swf");
I was checking my policyfiles log file and noticed that I have the following for a newly created (and played in Firefox) SWF file I made:OK: Root-level SWF loaded:URL...I was trying to find some documentation in livedocs.adobe.com but couldn't find anything...