ActionScript 2.0 :: Targeting Buttons Parent Versus Root?
Feb 19, 2010
I have a main flash movie that loads three external movies, the external movie buttons don't work when loaded onto the stage.
In each external swf thats loaded, the button actionscript is in this form:
HTML Code:
on(release) {
_root.gotoPage(2);
}
And this works when each swf is loaded stand-alone. But not when loaded as an external swf.With the numbers ranging from 1-19 as far as pages. How should I edit the code so that these buttons work when loaded externally?
I cannot use the following in my ActionScript due to conflicts with the host application:
_level0 _root _parent references
On a pop-up box I have a close button with an absolute reference: closeBtn.onRelease = function{ unloadMovie("_level0.Page_1.holderBox");} Is there another way to make this work without using _level0 or _parent? I've read that it is possible to use a global variable on the main timeline and ref that, but cannot get that to work.
Inspired by this Flex question, is it seen as better practice to dispatch an event back to the parent app, as opposed to calling a method on the instance of the parent app, from within a module? To me it seems that the module shouldn't know what methods are available at the parent, as such approach leads to tight coupling.
If I have a movieclip on the main timeline, and a button in that movie clip. How would I go about getting it to advance the main timeline to its next frame? I understand that in AS3 movie clips are not connected to the timeline in the same way as they are in AS2 but I dont understand why the following works, or if there is a better way?
stop(); next_btn.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler1); function mouseDownHandler1(event:MouseEvent) { MovieClip(this.root).nextFrame(); }
I've created a Preloader.as class. When the preloader finishes loading, I'd like it to call a function from it's parent (the document class).This is the error I get:
Code: 1119: Access of possibly undefined property startApp through a reference with static type flash.display:DisplayObjectContainer.
this one's driving me crazy. I've got a button embedded in a MovieClip. When the user clicks the button (from the stage level), I want to return what MC the button's parent is, so that I can pull some variables from the parent.
HTML Code: public function buttonClicked(e:MouseEvent) {
button_mc (i click this and it runs the code in sampleStageNavigation timeline) sampleStageNavigation_mc (timeline that holds the ActionScript and the button_mc) sampleStage_mc (timeline - this is the one I need to access) main stage (timeline)
I have a main swf that loads external swfs into a holderMC. How do I get a button called playnext_btn on each external swf to tell the main swf to load a new external swf into its holderMC? I used this code in the main swf to do the initial load of the first external swf into holderMC:
Code: var swfLoader:Loader = new Loader(); holderMC.addChild(swfLoader); var bgURL:URLRequest = new URLRequest("benefits.swf");
Is there a way to tell flash to instantiate a Stage subclass called "TheStage" instead of the default Stage class as root/parent of my document class? public class TheStage extends Stage{ //code }
Then when I do "DisplayObject.stage" I want it to return the instance of TheStage instead of the default Stage insteance. I want to do this so that I can override the addEventListener method of the Stage class. So if I call DisplayObject.stage.addEventListener I can execute my own code routine. Is that possible and how?
I am trying to create a global function to reuse repetitively. It worked until I moved the function to the external .as file. The problem is with MovieClip(root) and MovieClip(parent). They do not work and cause errors.
I'm switching from as2 to as3 and everything was going swimmingly with my new site until i tried to use a _root call to a function on the main timeline by a loaded movieClip that is loaded nested into 2 other movieclips. the movieClip needs to tell the _root when it's done playing so the root knows to load the next one in line through a php call. Everything works except for the _root call. In as3 there's no such thing as root anymore so I figured no big deal, i'll just find out what the new thing is and holy crap wtf! I can't figure this out!! I've read from doing stuff like custom eventLisnters (which i am trying now) and casting the root as a movieClip and then I read this whole crazy tutorial on building an event structure and the proper MVC way of coding and blah blah blah ALL I WANT TO DO is tell the _root that the loaded MC has reached the end of its timeline. Basically if it were as2 i could just go _root.loadNext(); and it would work.how to make a loaded MC talk to the _root timeline and call a funciton from there?
I'm using a PreLoader as a parent SWF that loads the actual website as a child SWF. In the website SWF, the child SWF, will MovieClip(root) still work and refer to it's own root, or the PreLoader's root? And would I still access the websitite's document class (the child's document class), through MovieClip(root)? What if both files have a document class?So my main question is how do document classes and MovieClip(root) behave in the scenario when you have:
I have a MainClass from where I can call Stage. In the MainClass I call another class named Subclass, and in that one I call my ThirdClass. ThirdClass is initialized fine, but my problem appears when I want to call the Stage within the ThirdClass, to align the Stage. When I compile I receive the message: 1119: Access of possibly undefined property align through a reference with static type Class.
i have a series of buttons in an array, and i want to change the alpha of all of the buttons when a button (outside of this array) is clicked. i can change the alpha of all of the buttons inside the for loop, but not when the button is clicked. (the button is functional and being referenced correctly, as the trace does work.)what do i need to do differently to be able to control these buttons?
Code: Select all var theBtns:Array = [btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8]; for(i=0;i<theBtns.length;i++){
I had the following script which worked fine for my buttons which were sitting on the stage and are called 'btn1', 'btn2', etc... However I wanted to animate all the buttons so have put them all into a movie clip called buttons, but now my script doesn't work, I have tried changing all the this targets to _root.buttons.this,
I'll try and make this as clear as i can, so as not to waste your time. I think it's something really simple i'm just missing...On the main timeline, i've got a movie clip ("mc_A") that contains two other movie clips ("mc_1" and "mc_2").at the end of it's timeline, I put a button in "mc_1" to play "mc_2". I'm using
on (release) { telltarget ("_root.mc2") { play () ;
What I'm trying to do:I have an external JPG. I want to treat it as a button. on mouse over, I want it to fade in. However, I'm having problems understanding how to target this in my SWF.So 2 questions, can you target an external JPG to a Movie Clip inside my button? how do I target that?
I want to target multiple buttons and get different value by clicking different button.
Suppose there are 3 buttons: "button01", "button02, "button03".
This is my code:
var targetArr:Array = ["button01","button02","button03"]; for (var i:int = 0; i < targetArr.length; i++) { var target = getChildByName(targetArr[i]);
[Code]....
Instead of getting different value by clicking different button, I constantly get "3" as the value. I want: clicking "button01" will get "0" as the value, clicking "button02" will get "1" as the value, and clicking "button03" will get "2" as the value. How to do it?
I attached a movie that I am working on. I use the duplicate actionscript to put several buttons on the stage when clicked. I then want to be able to use the color picker to change the background behind the buttons. As of right now it only works on 1 button and by changing the 6 in this code for (i=1; i<6; i++) to 5, 4, 3, 2 or 1 it will only change that button. How can I get them all to change at once?
I have an swf file, MyRoundButtons, which is a set of radio buttons I built (not components). It works fine, but if I import it into a parent it won't work anymore. I have to write a script to load it into a movieclip, (which I hate, because I'll have a several different swfs to assemble on my final stage. I really want to see them all on the stage together, not just at runtime.)Even when I load it into a clip and the buttons work, however, it doesn't seem to have a separate timeline when double-clicked ,and: I can't make the imported buttons control the timeline of the parent. I defined a test function:
Frame "nirvana," in th parent, has a Trace instruction in it.goToNirvana works on its own in the parent. Now to call the function from within the child:
Code: Select alltv_btn.onPress = function(){ gotoAndPlay("TV"); // That last part triggers the button's down state and sound in the child timeline, in frame "TV."
[code]....
Whether I define that function in the child, the parent, or both, the instruction won't work. Now, I'd prefer not to do the loadMovie thing at all if I can avoid it, I'd rather have fully rendered button clips onstage at authoring for me to arrange and move about, with fully independent timelines right there. But you see what I'm trying to do. I just can't get it done.
Even though i know not much of actionscripting, i like to make sites that are flash-based, so i keep on challanging myself with that. But now i stumbled into something, and i just cant find a solition! here is my problem: I have made dropdownmenu's in a movieclip and the mc works with hittest like this:
I have a Nav Bar on my _root timeline. Inside of which I have buttons and MC's. I want to have all the code for my buttons on the _root timeline. So, I can adjust from there.
Below is an example of what I'm trying to do from the _root timeline Actions Layer:
Code: // ------ NAV BAR ON MAIN STAGE ----------------------------------- // ------ Instance Name = NavBar ------------------------------------ // ------ Button inside of "NavBar" = MyButton ----------------------
I've been working on a new issue while giving a break on cracking the other one.I have a movie clip acting as a button with rollover/rollout animation- we'll call it menu_mc for simple reference.I'm basically creating a rollover submenu. I've set it up a few different ways but the most user friendly has been hiding the submenu_mc (which has 4 linked buttons to root frame inside) by doing:_root.sub5_mc._visible = false;then inside the menu_mc with the rollover I have the submenu trigger set to show: _root.sub5_mc._visible = true;The links are working fine but the problem I am running into, is that the rollover state, once over the submenu_mc, does the rollout function and leaves the submenu_mc hanging there by itself- still functioning perfectly.You can go back over the menu_mc and it will play out the rollover again.On the other simple animated buttons (which do not have submenus) I have coded: