ActionScript 3.0 :: Referencing Objects That Are Not Present On Frame 1 Of A Movieclip
Apr 20, 2010
I'm working with a movieclip right now that has two frames in it. I want the user to be able to go back and forth between the pages by clicking on tabs on either page. The button that they click on is only present on the frame that it is applicable (so, the button to switch to frame 2 is only present on frame 1, and vice versa).
I want to control when they are able to click back and forth, and be able to turn the buttons on and off whenever I need to, but since the button to switch back to frame 1 is only on frame 2, when I reference it from the main timeline, the button registers as a null object. How do I refrence an object that is not present on the first frame of a clip?
three nav buttons which add movieclips to the stage using the addChild method bascially each new movieclip should remove the last one present on the stage. My code so far which is not working is the following:-
Suppose there is a button on stage - on press - I want to [display / start to run] a movie clip present in library (should i place it on stage?) I tried: on (press) { loadMovie("one_mc", "1"); } not working.
Why do I get this error saying parent does not exist when I try to remove a movieclip. In the first case, the movieclip cannot exist either on screen/memory if it was not 'contained' by either a movieclip or stage. How can this happen, can somebody explain how this "movieclip" loses its parent reference to the stage or container mc. The debugger stack shows the value of movieclip.parent as null.
im trying this every which way.creating global variables etc.I have a movie clip with a text area (lets call it txttest)there is text inside it which i want to send from this movieclip on the main frame to a text area (lets call that one txttestB) on the main frame. Whatever i try i get undefined in the text area on the main frame.I have tried this...
there is a movieclip named movie with instance name movie.Inside this movie there is a textbox in frame 1.I want to give properties and methods to that textbox.
Is it possible to control an object/element on a instance? If so, how is it done through actionscript?
There is an instance "instance140" off of the root, that has an element named img4 that i need to reference... does anyone know how I would go about that?
I've created a for loop to do the following:add instances of button MovieClip from library to stagename the instances via name propertyadd instance names to array for later referenceadd event listenershese 4 steps are working peachy, however, I'm having troubles referencing these instances later on through my code. I'm pretty sure that the problem is in my data types not matching, but I'm not sure how to fix it.
var menuBtn:mc_menuBtn;var menuBtnList:Array = new Array(); for(var b:int = 0; b < numFiles; b++){ //add instances to stage menuBtn = new mc_menuBtn(); testClip.addChild(menuBtn); //adding button instances to
I need to be able to dynamically position a component generated in Captivate 4 via ActionScript that in child SWF that is imported into the Captivate project. The problem is that I don't know how to reference the objects in the parent movie. I can set a label on the object and reference the parent itself with:
MovieClip(this.parent)
but this doesn't seem to work:
MovieClip(this.parent).label.y
And I suspect that it is because some how Captivate subclasses the objects but I'm having trouble finding out how the hierarchy is structured.
I have a simple function that dynamically creates text fields. My text field name is referenced by var thisTextField. Problem is, when I try to do things with my text field, actionscript shoots back an error as such: There is no property with the name 'text'. How am I supposed to apply properties to my object if my objects name is a variable?
Code: function showProducts() { var products:Number = 0; var thisTextField:String = "product" + products + "_txt"; for (var itemID in _global.rtsData[_global.rtsPos]["products"]) { [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] .....
I am getting an error that says that 'text_so' is an undefined property and that I can't access it. Yes, I have not declared 'text_so' in 'Reciever.as'. However it is the shared object instance from the 'Text_SO.as' file. How do I reference it from the 'Reciever.as' so that I won't get this error anymore?
i want to referance objects in the level above the movie clip that i have the AS in. what i mean is that i have a movie clip on the stage, and that movie clip has some actionscript in it, and that AS needs to refer to an object on the main stage, how would i do that? i have tried parent and stage 1, but neither seem to work
I am trying to display in 'Reciever.swf' the value a shared object updated in 'TextSO.swf' . The following is my code for the Reciever[code].,...
I am getting an error that says that 'text_so' is an undefined property and that I can't access it. Yes, I have not declared 'text_so' in 'Reciever.as'. However it is the shared object instance from the 'Text_SO.as' file. How do I reference it from the 'Reciever.as' so that I won't get this error anymore?
There is a library component represented by Class A. But constructor of this class requires some parameters. When the component needs to be added dynamically, it's fine because of code :
var abc:A = new A(param1,param2)
But what if my movieclip is already present on the stage. I notice it gives out error, that the parameters are null.
Is their any way to insert constructor parameters for movieclips already on stage.
I'm doing this object oriented game and I create a bunch of 'boxes' via a for loop
Code: Select allfor (var z=0; z < numOfBoxes; z++){ var box:Object = new Object(); box.mc = new Box(); box.mc.name = "box"+z box.mc.x = Math.round((Math.random()*(530-box.mc.width)) + 20); for (var i=0; i<boxXArray.length; i++){ [Code] .....
I get my random amount of boxes scattered over my stage (I haven't put in any checks to see if they are touching). How do I 'name' these boxes so I can reference them later? Say I want to move the .x of boxA in another function? Is there a simple way to call them box+z instead of just all as box? (Then I can run them through a loop later to talk to them).
I have an object present in frame 3 of the main timeline. When the object was present in frame 1 i could access it from an as3 code file. But when I am keeping the object in frame 3 of the timeline (Please note that the previous frames for that layer is blank). I am getting a null value for the object. if I try to use trace the object.Logically if I am in frame 3 i should be able to access it.
I have a frame that I want to display but the function that calls it exists on the parentHow do I call a frame that exists within a child movieclip from its parent?Here is my code. It is basically for a restart button.Here is the parent function.
I have this issue with action script I've written (AS2), it is simple movement code for an on-screen character.
I have a character set up with a hierarchy of nested movie clips and frame labels.
Main character MC (1 frame, no label) | Front/Side/Back pose MCs (several separate frames, with labels, no animations) | Animation MCs for single pose (e.g. idle, walk, crouch, etc) (several separate frames, with labels)
I want to reference the child frame labels with gotoAndStop ('Front.walk'), or similar...
Here is the code I have now:
keyListener = new Object();
keyListener.onKeyDown = function () {
[Code]....
The problem is, as soon as the character moves one direction and changes to the desired pose, when I try to go the opposite direction... the pose doesn't change to the opposite direction frame label. So it only works once, and stays on that child frame label.
Is there a problem with the way I'm referencing the child frame labels?
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());
Got some external classes, say MyClass.as MyClass.as has a static variable called foo
So, ordinarily in other AS files I can call this with MyClass.foo = bar;
However, this seems to be different in timeline scripts. Every time I try this I get the reference with a static type error 1119: Access of possibly undefined property foo through a reference with static type flash.display:DisplayObjectContainer.
I've tried doing an import MyClass, etc... nothing seems to be firing.
How do I reference the root frame label in a function for event dispatching using a switch statement.
SUMMARY: This is simple, but as I've stepped away from ActionScript for too long, I'm having trouble figuring out the proper test expression to reference the root timeline frame label (e.g., switch(the root frame label)).
Nothing i've tried works: switch(this.label)://obviously this would look at the button timeline switch(event.root.label)://player says there is no "root" property ...
STRUCTURE: I have five MCs, one on each of five frames. I have a forward button and a back button. I created a switch statement to specify different actions, based on the root frame label. Frame labels are f1, f2, f3, f4, fend.
I have 3 frames each with a movie clip called map_mc. Each different map_mc have different objects that call the CollisionDetect class. Heres whats happening. objects from frame 1 will start freaking out when I goto frame 2. How do I remove only the event listeners from objects only on frame 1?
I have been trying this.currentFrame but the problem is that all the objects are inside map_mc on the first frame so no matter what it will always be 1. On the other hand MovieClip(root).currentFrame will always give me the current frame but wont tell me what the objects frame is relative to the stage.What I want to do is have something to this effect:MovieClip(root).this.currentFrame would output that this object is on frame 1 and MovieClip(root).currentFrame will tell me that the stage is on frame 2 so I can remove the listeners accordingly.
If I have movieclip named box01_mc inside movieclip btn01_mc and I wanted to change box01_mc's alpha to 0 on the rollover of btn01_mc how would I write this? I tried writing the following code on btn01_mc but it didn't work:[code]
I'm having issues trying to reference a movieClip after attaching it. What I have is: Code: btn_instructions.onRelease = function() { instructions = true; attachMovie("parchment", "mc_parchment", getNextHighestDepth(), { _x:280, _y:280 }); } mc_parchment.btn_close.onRelease = function() { instructions = false; trace("close"); removeMovieClip(mc_parchment); }
The first is creating it on top of the other items that are created during the game. I can't have the instructions on the timeline and just change the visibility of it due to all the assets this game is making. The instructions variable is used in an if statement elsewhere in the game to lock the user controls so they can't create anything else in the game while your viewing the instructions. The second function is the one that should close it. The movie clip that's attached has a button in it, with the instance name btn_close. The trace doesn't even pop up so it's not targeting it correctly. Yet when I go to 'debug' and 'list objects' both mc_parchment and mc_parchment.btn_close are listed as being in the scene after clicking the instructions button.