ActionScript 3.0 :: Accessing Stage Objects With In A Class
Aug 20, 2009I am trying to learn how classes can interact with each other and I came across a problem I can't solve. On my stage I have a MovieClip called "myMovieClip".
[Code]...
I am trying to learn how classes can interact with each other and I came across a problem I can't solve. On my stage I have a MovieClip called "myMovieClip".
[Code]...
i have an issue in accessing stage objects from class files.Here is my code
package
{
import flash.display.MovieClip;
[code].....
I have drawn colored rods which I have placed in the library and have put one of each on the stage with instance names likeblueRod_mc, etc.I place them around with time-line code like
blueRod_mc.x = 300.0;I have now created an Actionscript class called Problem.I build a new object from Problem which I have called Riddle.But when I put blueRod_mc.x = 300.0 in a method (of Problem),I get the message that blueRod is not accessible.So I triedstage.blueRod_mc.x = 300.0;That did not work either.
I'd like to be able to access some objects which are on the stage before compile time (e.g. in my .fla file). I can do this fine from the document class using the names I've assigned to them, but I need to be able to do this from other classes (instantiated at runtime) too.
What is the best way to go about this? Can I use the stage variable (this isn't looking likely from what I've read so far) somehow? Or do I need to pass in references to these objects from my document class when I create the instances of the class that needs to access them?
have a button on the stage that you called "myButt". Now suppose you want to change its size. You write:myButt._xscale = 25;Now suppose you don't know it's name, but you get the name from another variable:buttname = "myButt";How do you change its size then? in some compiler languages you can expand the string buttname into its value at compile time, with special flagging, such as:
View 4 RepliesI have created a class, call it Class1, that has various objects drawn on the stage (drawn in the IDE). It also has a function, called setColour, for changing the colour of those objects. The function works fine if I call it from within Class1.
Now I have another class, call it testClass1, that imports Class1 and calls the setColour function. First of all, none of the stage objects from Class1 are visible. Secondly, when setColour tries to modify the colour of an object, I get the error:
TypeError: Error #1009: Cannot access a property or method of a null object reference.
This is the code for testClass1:
ActionScript Code:
package
{
import flash.display.*;
[Code].....
So, what is the problem? Is it possible to change objects that are drawn on the stage of an imported class?
I have a structure display like this: (brackets shows the depths, within their parent)
my question concerns 'communication' between the highlighted objects - so you don't have to waste time understanding the whole tree! I've just added this to provide some context!
mc_init (0)
___|
___mc_page (0)
[Code]....
Now, its easy to add a mouse event to btn(1), but how do I get this button to set the visible property (say) of 'rectangleBG(0)'
how do I access the paths? of these objects added to the stage?
I'm being really dumb today and I know this should be simple.....How do i access the stage from a class which isn't the Document Class? For instance, I want to create a tween which takes in the parameters of the stage's width? So I've written.....
ActionScript Code:
var myTweenX:Tween = new Tween(this, "x", Regular.easeOut, this.x, stage.stageWidth, 60, true);
[code].....
I'm currently working on a game. I'm breaking down each piece of the game into individual classes and movieclips. The intro begins by going to the main menu which is a MC in my fla library. This is called through the document class. then all actions the main menu MC performs are commanded through the MainMenu class. When starting the actual game, MainMenu calls a function from the document class, after it is removed from the stage, that puts an empty movieclip called Level on the stage.
View 2 RepliesI'm trying to access a MovieClip object in a SuperClass from a SubClass. The only way I can tell this is possible is through an event dispatch, but I'm dealing with a preloader and a loaded external SWF. So I can't make an instance of the "not yet loaded" classes because I'll get errors. Furthermore, the objects in both SWF need to be controlled in sync.
View 9 RepliesHow do i access the stage from a class which isn't the Document Class? For instance, I want to create a tween which takes in the parameters of the stage's width?[code]
View 8 RepliesI seem to have a problem with accessing MC on stage. For example, if in my class I try to do something like this:
back_next_nav.alpha = .3;
I get the error: 1120: Access of undefined property back_next_nav.
I have a main document class with another class instanciated (mouse follower.as) within it. I want the mouse follower class to access a stage instance. How is this done?
View 1 Repliesim still trying to get into the whole oop thing but I still have some things that i dont understand.I have a movieclip on stage that i want to access using an external class that lives in a different folder.Is there a way to access movieclips on stage from external classes or that i have to create a connection between the document class and then send the movieclip instance using a class method ?
View 1 RepliesI need to set properties of buttons on the main stage from the current class. How would I do this?
I have multiple buttons on my stage. Each representing a chapter in a movie (from frame x to frame y of the movie).
When I push one of them, the movie plays. When it gets to the end, it should continue to the next segment/chapter. This works, but now I need to highlight the current button, not let the button I pressed be highlighted forever..
access one instance of a MovieClip on the stage (blue_mc) from within the class file of another MovieClip (red_mc).e.g. One instance of "Blue" on the stage called "blue_mc", and one instance of "Red" on the stage called "red_mc". Both symbols are linked to class files (Blue.as and Red.as).In Red.as, I set up a function to listen for a mouse down event. When this is triggered, I want to move the instance blue_mc. At the moment, though, I can't seem to get a reference to blue_mc.I've looked into the new stage and root properties, but even though blue_mc is on the stage, it cannot be accessed using stage.getChildByName( "blue_mc" ) either.
Code for Red.as:
Code:
package {
import flash.display.MovieClip;
import flash.events.MouseEvent;
[code]....
I am trying to access the x and y properties of the stage so I can set an objects' x and y properties to place it on the center of the stage:
this.x=stage.stageWidth/2;
this.y=stage.stageHeight/2;
The call to instantiate the object(*.fla):
[code]......
When I debug this, it gives me an error saying that it cannot access the stage because it's a null property.
ActionScript Code:
package {
import flash.display.MovieClip;
import flash.display.Stage;
import flash.text.TextField;
import flash.events.Event;
[Code] .....
I am trying to access a property that belongs to the stage, from a class. For example, let's say I add a textfield with an instance name of "magic_txt" on the stage. In the Document Class, I am able to access magic_txt and update the field like so:
magic_txt.text = "Magic Text"
However, since I would like to work in classes, I am having a difficult time figuring out how to access the property "magic_txt.text" from a class. I know I need a reference, but I am unsure how to set this reference.
I am coming from a strong background in Visual Basic, and in Visual Basic, the way to access a form property is to call the form name (dot) object. In actionscript, it doesn't seem to be as simple.
I have a class and the class must adapt itself whenever the stage resizes.
Now something could look like this, but it won't work:
Code:
package {
import flash.events.Event;
public class ResizeClass {
[Code]....
1.I have a MovieClip in the Library. There is a named and dynamic text box in the MovieClip. In Frame 1 of the .fla, I construct the MovieClip from the class StatusBoard and add it to the stage. There is one setStatus method in the class to set the text. This works fine.[code]
2.I have a bunch of buttons that I created from a class called LinkButton.as (they are MovieClips, not _btn buttons). FWIW, they are attached to other MovieClips, but they work fine. The trace output is fine. What I am trying to do is have the rollover change the text in the billboard.[code]
3. In lay terms, I used addChild to add a MovieClip with a dynamic TextField to the stagw and I want MovieClip buttons created from an .as class to be able to change the text on a rollover.What I can't seem to do is actually reference the billboard that I added using addChild from the .fla.The buttons work and trace the desired text, I can't seem to send that text to the billboard.
I have drawn a box on stage and turned it into a movieclip called sidePanel, within it I place a checkbox. My document class 'Main.as', ie the class called upon by the flash file, creates a class of name Class1. So we have .FLA (The Stage) -> Main.as -> Class1.as Now from the Class1.as How to get the checkbox status, ie checked or not, from within my class1.as ?
View 3 RepliesI have a movieclip in stage with instance name 'ts'.
I have a class Test.as
How should i refer to MovieClip 'ts' in stage from my Test class. Say for example I want 'ts' to gotoandstop at frame2.I tried root.ts but received a error.
What is the best way to accessing movieClip from a flash stage in AS3 Class? And what if the as3 class it's in a package, outside the Document Class?
View 4 RepliesI've googled this to no avail, I've only found how to manipulate the stage itself and not a display object on it,I have a movie clip on the main timeline with instance name displayName. I created a button that should change what frame displayName goes to (in order to...did you guess it?! diplay the Name of the button.So I am trying to write the code in a reusable fashion and have the buttons all linked to a class called GeoPuzzle. Inside GeoPuzzle I instantiate a touch event and run the code. However, the function has to be able to change displayName in the main part of the timeline and, of course, the compiler says displayName doesn't exist because I'm in a class and I'm talking about the stage.[code]How can I tell displayName to change it's current frame from within display object class?
View 9 RepliesHow can I access objects and modify their property that is ALREADY placed on the stage using external classes (AS file)? I 'm a newbie of AS3 and followed some tutorials about AS3 not long ago. For I learned scripting in AS3 can be done using AS file rather than script on Timeline. But I have a question. How can I "find" and "modify"the objects on the stage, or inside a MovieClip , in AS3?
For example, I have a file call Stage004.fla which have no document class linkage. I place the MovieClip "StageMain" which links the Stage004.as on the stage. StageMain has a textfield in it named "textFieldStage001". The Stage004.as is ran using "Event.ADDED_TO_STAGE" since StageMain is on the stage. I create another AS file WindowRename , to test can I modify the text in "textFieldStage001".
Then the famous error #1109 occurred.
"1119: Access of possibly undefined property textFieldStage001 through a reference with static type Class."
ActionScript Code:
package {
import flash.display.Stage;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class Stage004 extends MovieClip{
[Code] .....
Iam new to actionscript 3.0. I have a movieclip in stage with instance name 'ts'.
I have a class Test.as How should i refer to MovieClip 'ts' in stage from my Test class. Say for example I want 'ts' to gotoandstop at frame2.I tried root.ts but received a error.
How do you access the stage from a function in a document class file? I tried a fairly simple:
ActionScript Code:
var main:MovieClip = new MovieClip();
addChild(main)
var _stage:Stage = main.stage;
trace(_stage);
The result was null.
I'm trying to link a clip to a class, and it goes well until I try to access MovieClips or TextFields placed on the stage within that clip from code in the class. My code is below; there is a TextField called output_txt on the stage within this clip.
class Main extends MovieClip{
public function Main() {
//trace("123"); <--if I replace the line below with this, it traces nicely
output_txt.text = "123";
stop();
}
}
I have a Flash file with Movice Clips that are placed on the stage at author time. Let's say one of the clips is called "stageClipMC".[code]Tracing "stageClipMC" return "undefined". From this class, how would I access the clip on the stage? I have tried different variations on "MovieClip(root)" and "MovieClip(stage)" to no avail.
View 2 Replies