ActionScript 3.0 :: Access Property Only By Instance Of Same Class?
Jul 23, 2009What should I do to make a non static variable accessible to only instances of the same class?
View 10 RepliesWhat should I do to make a non static variable accessible to only instances of the same class?
View 10 RepliesI have a problem with the piece of code that's been annoying me for a week. It should be very simple but all my attempts at a solution somehow seem to get thwarted by an invisible hand that wants me to fail.Here is the scenario: I am trying to create an image strip consisting of image thumbnails. When one mousovers each image it should print its information (say a name) in a textfield.I created an image container class that loads the images through a url request, then an image strip class that receives an array with image names and urls and displays them in a row. So far so good.
However when it comes to showing the info I have no clue how to address which image is being pointed at. I put a variable called imageIndex inside my imageContainer object, then put all the created containers in imageStrip's for-loop inside an array called mgContainerArray. I created a for loop in my fla that goes through this array and assigns all those containers a mouseover event listener. What I'm stumped with is that there is no way I can access the imageIndex variable from my function to tell the code which image is currently being mouseovered. It keeps giving me an error.Here is the code:
Code:
for(var i:Number=0; i<myImageStrip.imgContainerArray.length;i++){
myImageStrip.imgContainerArray[i].addEventListener(MouseEvent.MOUSE_OVER,
[code].....
I have make 3 classes objecthandler, box and nav. Nav is child class of objecthandler, I have make an instance of box into objecthandler and now I wanna access property of box through nav.
See the code:
Objecthandler class
package code{
import flash.display.MovieClip
import code.box
import code.nav
[Code] .....
I have to admit I pretty much ran away from Flash when AS2 came along and only used it for animation purposes over the last 5 years.So I'm having a major crash course in AS3 in Flash CS3 and I'm not enjoying it one bit. I'm getting maybe 10mins of finished work per hour as I try to figure out the limits and rules of AS3. Quite often it seems that AS3 simply can't do what I want it to. Anyway: Characterchecks.as is the main class and it loads a bunch of XML into four arrays. The file starts like this:[code]If I trace the value of, say, cc._Categories from the main FLA, it's empty. I'm guessing that the next line of AS in the main FLA doesn't wait for the previously called function to complete? (This may tie in to my next problem)My next step is that I want to display various things based on the data in the array. I have another class, Display.as which will hold all the functions to create the items on display. I thought it would be best for these to be a separate object. I wonder if I'm right?
So I declare an instance of Characterchecks in the main FLA and call it cc, and then run the functions to populate the arrays... Now I create an instance of Display and call it cd. How can I get functions in cd to see the values of the variables in cc? And if the main timeline can't tell that the functions aren't finished filling the arrays, how is cd supposed to know?I might be asking dumb questions, or maybe I'm doing things ***-backwards, I don't know. I'd appreciate any help, I really would. This whole thing has me at the end of my tether... being the most technically advanced person in my circle of co-workers and web design friends means I have no-one to explain why things need to be done a certain way or what the best way is.
I'm kind off oblivious as to what I'm doing wrong here... I have two classes: - Alley - AlleyCat
[Code]...
If I have three classes:
public class Example {
public function Example () {
}[code]............
You can see that the two last classes extend the first one, and both have the 'variable' property. In case that I have an instance of Example and I am sure it is also an ExtendedExample OR AnotherExtendedExample instance, is there some way to access the 'variable' property? Something like
function functionThatReceivesAnExtendedExample (ex:Example):void {
if(some condition that I may need) {
ex.func()
I have the following inheritance structure:
var environment:AvEnvironment = new AvEnvironment(...);
addChild(environment);
environment.addChild(new Terrain());
environment.addChild(new Player());
I am trying to access a public property from AvEniroments class through the Player class, however I'm getting an undefined property error (#119). I've tried the following:
this.x = AvEnvironment.xs // public property in this class
this.x = parent.xs
I've also tried something like this:
var ev:AvEnvironment = AvEnvironment(parent);
this.x = ev.xs
but I get a TypeError. Error #1009: Cannot access a property or method of a null object reference.
is there any way, within a class definition, to access the instance name of the class?as in, say you have a class "playerObject", and you instantiate an instance of it like usualplayer:playerObject = new playerObject();is there an inbuilt property or variable i can access within the playerObject class code to return "player"?if, in the constructor, i trace(this) it returns [object Object], i tried things like this.name, this._name etc, of course they didnt work...
View 4 RepliesI was wondering how do you access the stage property from a different class that's not the principal class tied to the fla? Essentially, I have main.as which calls another class menu.as, and I can't seem to be able to use the stage.stageWidth property from menu.as. What's the proper way to be able to use the stage property from any class? Do I have to import it separately each time?
View 2 RepliesI currently pass a reference to my model through the constructor to any class that needs it in my simple mvc pattern, this can get annoying at times when it starts to go deeper.
How do Classes such as LoadMax allow you from anywhere to simple import the class, and do something like addChild(LoaderMax.getContent("bg"));? Replicating this should surely be a good way to have my model work, without the complexity of big frameworks?
for my current project I am starting to work with AS3 and I have written a ClipManager class where I can define an MC like "mainView" during initialization like this:
clipManager:ClipManager = new ClipManager(mainView);
With my clipManager I can now easily load stuff into the mainView etc. The problem is that I want every button throughout the whole thing to access Class Methods of this instance to alter the mainView
I have a music.fla and i set document class its to com.music_ct in the music.fla, i have a movieclip with instance name :aaa.[code]
View 7 RepliesI have a movie clip with a dynamic text box with an instance name inside. The movie clip is linked to a class, but when I try to access that instance name through that class it just returrs null.
View 1 RepliesI have one class which is assigned to dropBar MC:
ActionScript Code:
import src.DropDown;
var inheritanceDrop:DropDown = new DropDown(dropBar, 1);
[code].....
I have a class LoadXML which loads and extracts data from an XML file. I am using this data for my Main class by creating a new LoadXML class. I now want to use this data for my other classes but without having to create another new instance of LoadXML. Since global variables dont exist in A3, I tried creating get methods in LoadXML and then returning these values into variables in the desired classes.[code]
View 7 RepliesWhat I want to do (and I have high doubts about the possibility of this) is access the creator of a class from within the constructor of that class (without parsing a reference to it).[code]...
View 1 RepliesWhat I want to be able to do:
- click a guy to select him
- click an adjacent tile
- move selected guy to clicked tile
The way I've coded it, each instance of a guy class has a mouse even listener on him which listens for a click. When clicked, I find out the tile underneath him, and the surrounding tiles. So far, so good.
When clicked, the guy calls a method in the tile class, like tile.onClick, which tries to say: get this tile, and send it back to a method in the guy class, like moveGuy. Then moveGuy moves the guy to the tile it was told.
Problem:
From the guy class, I call a method in the tile class. To communicate between classes, the tile class method onClick must be static. But if it's static, the method can't refer to "this", because it's a method in the class only, not on each instance of tile. But I need to know which tile was clicked, and send that reference to the guy so he knows where to go.
How do you access a method from outside its class so that the method can refer to "this" instance? OR, how do I find out which tile was clicked without needing any code on each tile instance? OR... how else can this problem be solved?
how can i access a movieclip with a instance name via a class i have tried this: public var player:MovieClip;
else if(this.hitTestObject(player))
{
this.y = player.y
}
How can i access a movieclip via its instance name in 1 class [code]...
View 3 RepliesWhat I want to be able to do:
- click a guy to select him
- click an adjacent tile
- move selected guy to clicked tile
The way I've coded it, each instance of a guy class has a mouse even listener on him which listens for a click. When clicked, I find out the tile underneath him, and the surrounding tiles. So far, so good.
When clicked, the guy calls a method in the tile class, like tile.onClick, which tries to say: get this tile, and send it back to a method in the guy class, like moveGuy. Then moveGuy moves the guy to the tile it was told.
Problem: From the guy class, I call a method in the tile class. To communicate between classes, the tile class method onClick must be static. But if it's static, the method can't refer to "this", because it's a method in the class only, not on each instance of tile. But I need to know which tile was clicked, and send that reference to the guy so he knows where to go.
How do you access a method from outside its class so that the method can refer to "this" instance? OR, how do I find out which tile was clicked without needing any code on each tile instance? OR... how else can this problem be solved?
Is this problem what getters & setters are for? I don't really understand how to use them yet.
I want to create an array of strings in a text class that I can access with the main document class. Then I'll be able to populate a text field with items in the array. The purpose of this is to avoid having massive lines of text in my main document... but I can't even get my test to work. The compiler is telling me that the array (txt1) is undefined. First here's my code for the array:
//text array class:format5000
package {
import flash.display.MovieClip;
import flash.text.*;
[Code].....
I have a class that has two variables, and four functions to get and set the values for said variables. The problem is that the variables are always undefined.I'm using the class mainly for holding variables and static functions so I haven't instantiated.
ActionScript Code:
package objects
{
[code]......
PHP Code:
package import flash.display.MovieClip; import flash.events.Event; public class DumbClass extends MovieClipvar dumbXS:Number var dumbYS:Number var dumbACC:Number = 0.6;
[code]...
im trying to access Stage Instance in other class but i cant
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at MyClass()
at Main()
i have one main.fla, its document class is main.as. the code in main.as is package.[code]where val is the property of Loading class.so how can i access.
View 2 RepliesI m trying to access stage.width property but sometimes it trace 650 and 720 but i see my flash file dimension is 500x400, I need to align objects on stage..
View 1 RepliesAssign an event listener to a protected timer variable in the parent class.
I am working with Adobe LCCS, and created a BatonProperty which implements Baton
Now, Baton has a protected timer variable declared like this, and for some reason, I am unable to get access to this _autoPutDownTimer, from a BatonProperty instance.[code]...
I have a set of classes that I've been using in one Flex program (Classroom). I just created new project and referenced the source path of the first program's com directory in its build path.
When I do an import, import com.cade.comm.CADEports;, everything looks good. When I use a variable in the code, CADEports.gotComm = true;, it still looks good. However, when I try to run it, I get an 1120 error that says "access of undefinded property...".
In the main program:
Flex Build Path -> Source path = ${DOCUMENTS}/Classroom/src/com
import com.cade.comm.CADEports;
...
CADEports.gotComm = true; // compile error here although when you type CADEports. it shows the gotComm variable!
[Code].....
Why does this work in the original program but not the second?
I have a TileList that is fed by a DataProvider. The DataProvider places a source Class (and corresponding MovieClip) into the TileList as visual and interactive objects. [code]...
View 7 RepliesIs there a way to get an instance reference to the document class to call a method of it from the stage's timeline?I see that here's a possible solution: using a singletonOther solution I though of is using stage.getChildAt( 0 ) but it's not very nice.Is there an 'official' instance reference? because the document class is obviously instantiated at startup, but is that instance accessible in any way without having to use a custom solution like the ones mentioned?
View 1 Replies