ActionScript 3.0 :: Referencing MovieClip From Nested Stage
May 9, 2010I am trying to reference a movieclip from the stage which is nested. I really have no idea how to do that.
View 5 RepliesI am trying to reference a movieclip from the stage which is nested. I really have no idea how to do that.
View 5 Replieson stage a movie clip instance name is: LetterCont
for (j=0; j<20; j++) { duplicateMovieClip("letterCont", "Letter"+j, j);}then...
_root["Letter"+j].attachMovie("libLetter"+ j,"let"+ j,j);
and now I want to refrence "let"+j
[Code]....
how should I reference "let"+j
I'd like to know how I can reference root stage values from within a movieclip, or even worse, from a class. For example, I have a class called Bground.as. It does stuff, according to current stage size - so if someone were to resize the window/browser, Background updates in real time and does something fancy while it's at it. To do this "fancyness", I need stageheight and stagewidth. However, simply pointing to them does not work.
Here's the simplified ActionScript Code:
package klaseFP{
// imports
import flash.events.*;
import flash.display.*;
public class Bground extends MovieClip{
[Code] .....
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at klaseFP::Bground()
at FullScreen_03_fla::MainTimeline/frame1()
Background works as a document class, works perfectly in fact. However, if I use it as the class of a library object, error 1009 shows up. Same thing happens if I simply put the code into the timeline of the library object - stage referencing simply causes it to break. So, how do I dynamically change the values of variables in Background, according to values in the main movie/app?
I feel like I should know this by now, but I'm having trouble. I want a function in one of my child functions to increment an integer in its parent function.
[Code]....
On the main stage I have a button that I have made invisible once the file is loaded. Inside a movieclip I have on frame 15 the following actionscript 3 code
button_mc.visible = true;
I want the button to become visible at the end of this movieclip. I am not using an external as3 file, I am putting the as3 code in its own layer on the first frame.
I know it has something to do with the path to the button, but I cannot figure it out. If there is anyone who can point me in the right direction for referencing instances by instance name that reside on the main satge from inside a movieclip
on frame 1
for (j=0; j<20; j++) { duplicateMovieClip("letterCont", "Letter"+j, j);}
//this frame is executed only once
on frame 2
for (j=0; j<20; j++) { if (j<MsgLen) {
// remove old clip in a loop sequence _root["Letter"+j]
[Code]....
frame 3 is looped until all 20 are shown and then it send back to frame 2
The checking the data given in frame 3 is correct
What my couse it not to show? is there a way to debug the clip it self the? _x _y _width _height on the debugger has correct values for all clips as expected but the clip is not on the stage why?
I have the following code nested in a movieclip, how can I reference the stage correctly from that movieclip?
stage.addEventListener(KeyboardEvent.KEY_DOWN, reactToArrowKeys);
function reactToArrowKeys(keyEvent:KeyboardEvent):void
{
if (keyEvent.keyCode == 37)
[Code].....
I have 4 image movieclips nested inside of a "strip" movieclip and want to move horizontally to the next image using a mouse event. It is not centering and I don't understand why the if statements aren't working.
import fl.transitions.Tween;import fl.transitions.easing.*;
var targetX:Number = (stage.stageWidth / 2 - strip.img02.x - strip.img02.width) / 2;
var myTween:Tween = new Tween(strip, "x", Elastic.easeOut, strip.x, targetX, 3, true);
rightbtn.addEventListener(MouseEvent.CLICK, right);
function right(e:MouseEvent):void{
[Code] .....
I created a MovieClip and added it to the stage(addChild). Next, I created a Button (exactly BaseButton) and I added it to the MovieClip.The case is it won't show up. When I add directly my button to the stage (my Main class is document class ) there is no problem. But I want it to show up in my MovieClip and I dont know what I am doing wrong =[.The addChild is working because when I
Code:
trace(controls.getChildAt(0),getChildAt(0));
I am getting
[code]........
I have an instance of a movie clip that runs and after it runs I want it to call a frame to gotoAndStop back on the main timeline (stage). What is the code for that? When the animation ends, I am simply giving it a stop(); and then I want it to go to the next frame on the main timeline. I think this used to be _root in AS2.
View 1 RepliesI am working on a tool for use in our office which creates XML. At this point I am working on getting an error message to appear when the user enters incorrect data in one of the textfields. I have a MC which contains my error message as well as a button. The button will move the MC back off of the stage. Everything works up to the point where I click the nested button. I suspect there is a problem in referencing the parent MC from the button. Here is the code for the entire project. I am sure there are more than a few errors since I am relatively new to AS.
[Code]...
I am working on a tool for use in our office which creates XML. At this point I am working on getting an error message to appear when the user enters incorrect data in one of the textfields. I have a MC which contains my error message as well as a button. The button will move the MC back off of the stage. Everything works up to the point where I click the nested button. I suspect there is a problem in referencing the parent MC from the button.Here is the code for the entire project. I am sure there are more than a few errors since I am relatively new to AS
import fl.controls.RadioButtonGroup;
import flash.display.*;
load_file.addEventListener(MouseEvent.MOUSE_UP, do_load_file);//load file button click.
[code]........
The IDs for all tags in an MXML component, no matter how deeply nested they are, generate public variables of the component being defined. As a result, all id properties must be unique within a document. This also means that if you specified an ID for a component instance, you can access that component from anywhere in the application: from functions, external class files, imported ActionScript files, or inline scripts.
Which is fine if your application is all contained within one MXML, but I'm having trouble referencing IDs of components within Modules, and then inside ViewStacks/Navigation Containers within a given Module.
If I can reference a module with FlexGlobals.topLevelApplication.myModule, shouldn't I be able to reference a Panel called myModulePanel with the following?
[Code]...
I have a MovieClip called item with the same linkage set and my first task is to display 10 of these items on the stage nested inside a movieclip called MainItem. I have dragged MainItem to the stage and have the following for loop:
[Code]....
It's me again and I'm running into a problem. So, I have this movie clip that is nested inside multiple movie clips. I want to tell Flash to perform an action when that movie clip hits another movie clip in the main timeline. It's just collision detection for a game using the hitTestObject code. I was thinking of using MovieClip(root), but that won't work since it's nested so much.
View 15 RepliesI'm trying to reference the stage from my view class(AsteroidSuppyView). The view is a child of the document class. I'm tryng diffferent ways to do this but i'm getting the error:Code:1152: A conflict exists with inherited definition flash.display:DisplayObject.stage in namespace public.my view class is:
Code:
package
{
[code].....
I use this sample code taken from the docs: all the code is contained inside SocketExample.as, that is the DocumentClass too.
package {
import flash.display.Sprite;
public class SocketExample extends Sprite {
public function SocketExample() {
var socket:CustomSocket = new CustomSocket("127.0.0.1", 5000);
[Code]...
How to access stage elements from within a class.
buttonControls.as
Code:
package {
import flash.display.Sprite;
public class buttonControls extends Sprite {
// Navigation Hover Color
var hover = "0xF1E960";
var normal = "0xFFFFFF";
public function changeColor(object, color){
[Code] .....
In a new document when I create a movie clip on the stage and reference it in a script in the first keyframe, like aaa.scaleX = 0.2;, everything works fine.
But when I try this in the game I'm making, I get this error "1120: Access of undefined property aaa.". Why?
In my game I use a document class, here is the code that is executed at the beggining.
[Code]....
I created a custom class in a .as file. I then linked this custom class with a symbol from the library in my .fla file. However, I can't reference stage.stageWidth in my custom class file. I get a null object error.
I think this happens because the custom class file is associated with a symbol on the stage and not the stage itself. For example, if I set the fla file's Document Class to the name of my custom class I can reference stage.stageWidth in the custom class. But I don't do this because I am creating multiple instances of the symbol on the stage. In order to do that properly i found I have to set the class in the properties panel of the symbol to the underlying class which then defines how each symbol behaves.
Under this type of linkage, is there a way to reference the stage width from the class? I've tried root.stage.stageWidth and parent.stage.stageWidth to no avail. I also made sure to import flash.display.* in my custom class. Below is the code for my .fla file and my .as file. In the .as file you'll see the line "x = Math.random() * stage.stageWidth;". This is the line giving me problems. I could hard code it, as I do for the y variable on the next line, but I'd prefer not to in order to keep the code flexible.
[Code]....
I'm having problems referencing the stage from an external class. I've tried :
Code:
stage.addEventListener(MouseEvent.MOUSE_UP, onUp, false,0,true);
And also
Code:
MovieClip(parent).addEventListener(MouseEvent.MOUSE_DOWN, onDown, false,0,true);
But no luck. Can I not do this? I'm making a pencil class that I want to be able to reuse. I also tried "this" and while it didn't throw and error, it didn't work either.
I have a movieclip "submenu" that is on the main timeline, and inside this movieclip, I have some ActionScript:
[Code]....
i'd trying to build an interactive tree that allows the user to move the tree's branches and nodes. the lines (branches) of the tree are drawn programmatically between points (nodes and tips). i'd like for the user to click on points to drag them while having connected lines and points move correspondingly. i've gotten this to work to some extent using the code below:
ActionScript Code:
function startMoveOa(evt:MouseEvent):void {
thisPtOa = Sprite(evt.currentTarget);
[code].....
Just wondering, is there any way to dynamically reference movieclips on the stage, as in through a for loop like so:
for (var i = 0; i < 10; i++) {
["mc" + i].x = 10;
}
[code]........
in my main FLA's document class, I have this line:
Code:
addChildAt(newSlide, this.stage.getChildIndex(timelineNav.displayObject));
I'm trying to figure out why addChild() implicitly references this.stage, but
[code].....
I have been trying to reference to the stage from outside Document class and tried many different ways I found on google and it seems none of them works (maybe there were some changes in flash since they were posted.For example TopLevel approach by Senocular doesn't work either I do it as described in here.URL...The only way it seemed to work is by passing a stage as a variable. Has anyone any idea of a way to do it without the need of passing it by.
View 7 Replies I am trying to reference a movieclip within a movieclip that I am loading using "attachmovie". In the first frame of the root, I am attaching the movie. Then, from the attached movie I am calling a function that is also in the first frame of the root. In the function I am tring to set the property of a clip within the attached movie to visible using the following code:
_root.logIn.loginMessage._visible = true;
I have also tried _root["logIn"].loginMessage._visible = true; with no luck.
(logIn is the name of the clip I am attaching using attachMovie and loginMessage is the clip I am trying to reference in the attached movie)
This is how I'm loading it and I know that part is working: _root.attachMovie("login_mc","logIn",getNextHighes tDepth());
I have just recently started playing around with AS3 and am pretty new to what is going on in Flash (though I do have a lot of programming experience.) I have an object that I am dragging around on the mouse. I want it to be destroyed if I drop it anywhere but in a target location. I have the part where it is destroyed working, but I am running into a problem trying to find the target. When I try the following...
PHP Code:
public function DropObject(){
if (! this.hitTestObject(stage.getChildByName("Target"))){
stage.removeChild(droppedObject);
stage.removeEventListener(MouseEvent.MOUSE_MOVE,droppedObject.MouseCursorMove);
}}
I get "TypeError: Error #2007: Parameter hitTestObject must be non-null." So, "getChildByName" is returning null, but I'm not sure why. I've verified that there is an Instance name of the Target on the stage. Why can't I find it?
I have a media player that I am codging together, one that will play either videos or MP3s depending on the variables it is passed. The video player part works fine. The MP3 player controls are all actual physical MCs on the stage; each one has its own AS class file as part of the package, but there is also a lot of AS that is happening in the main FLA as well. Messy, I know, but it mostly works great.
The MC on the stage in the main FLA is properly linked to the class file via Actionscript linkage, and the control itself works. However, I am trying to make some aspects of the control respond to variables that are set within the AS on the timeline of the main FLA, and I cannot seem to pass values to the control no matter what I do.
[Code]....
I have a main.swf and a slider.swf. I load the slider.swf into main.swf. In my slider.swf I have this code which adds an image to the stage from the Library:
[Code]...
I assume it has to do with the stage.stageWidth. Is there a another way to reference the stage. If I load the the image externally via a loader I can use the stage.stage Width.