ActionScript 3.0 :: Access A Method On Instance From Another Class?
Jan 21, 2010
What 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?
View 1 Replies
Similar Posts:
Jan 21, 2010
What 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.
View 2 Replies
Oct 14, 2009
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.
View 3 Replies
Jul 25, 2010
I am lesrning actionscript. I am trying to call an instance method called "resizeSection". But I get the error "access of undefined property _header".
Below is the class where I'm calling the function.
package {
import flash.display.*;
import flash.events.*;
import Header;
[Code].....
View 6 Replies
Dec 28, 2005
I have a class called Unit. When I use this class in a .fla file, I create it by saying:
var unit00:Unit = new Unit(...);
So then it creates a gfx representation of the screen for me. I would like to have a method like this:
PHP Code:
[code]....
So how do I get this to work? I know that delete this will not work when defined inside the class. How do I target the .fla's instance name when I don't know what it will be called?
View 10 Replies
Oct 15, 2009
From my Main class, in the method onBackgrLoad, I am trying to call a couple of public methods (i.e. xmlData, hintergrund & numOfProducts) located in LoadXML. I keep receiving an error message that "loadXML" is undefined. I dont understand why because I clearly defined it in the main class:
PHP Code:[code].............
View 2 Replies
Jul 27, 2009
If all I have is an instance of an object, can I call a static method of its class? For fun, let's say I don't know what the name of the class is, only the name of the static method.
View 3 Replies
May 23, 2011
class Foo {
public function bar():void { ... }
}[code].....
View 4 Replies
Sep 21, 2011
My method has been passed a class instance, but it was typed through an interface so I'm not 100% sure what class it is. I'd like to attempt call a static method on that instance's Class.. is there an easy way to do this without being forced to pass the class along as well?
Something like this:
ActionScript Code:
public function foo(myBarInstance:IBar):void {
var barClassPointer:Class = getClass(myBarInstance);
try {
[Code].....
View 4 Replies
Sep 20, 2009
I just want to ask if is it possible to call a movieclip using the String Class together with it's instance name to use gotoAndPlay() method. I know how to use the instance name and the method but then what if I want to use a string together with the instance name and the gotoAndPlay.
View 1 Replies
Jun 15, 2011
I 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?
View 4 Replies
Dec 29, 2011
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
View 1 Replies
Jul 29, 2009
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 Replies
Apr 26, 2010
I 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 Replies
Mar 14, 2012
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].....
View 2 Replies
Jan 15, 2010
I 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].....
View 3 Replies
Oct 27, 2009
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 Replies
Jun 6, 2011
What 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 Replies
May 24, 2011
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
}
View 3 Replies
May 25, 2011
How can i access a movieclip via its instance name in 1 class [code]...
View 3 Replies
Jul 23, 2009
What should I do to make a non static variable accessible to only instances of the same class?
View 10 Replies
Apr 9, 2010
I created an array of objects and put an event listener on each of them. My problem is that when the object is clicked, I want to access a method inside the object's class but I do not know how to reference its position in the array. This isn't very clear but hopefully my code will make it clearer.
This line is inside while loops and puts an event listener on every square.
[Code].....
How can I know which square has been clicked?
Note: e.target returns the following error:
ReferenceError: Error #1069: Property placeChar not found on flash.display.Sprite and there is no default value.
View 3 Replies
Mar 23, 2011
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()
View 5 Replies
Jul 24, 2010
Why static method cant access private properties in the same class?
View 1 Replies
Jan 26, 2010
Im having whta I think is a quite common problem. I recently started migrating form AS2 to AS3 and Im buidling a home made template for all AS3 projects..
I have just loaded portfolio.swf on top of main.sfw. The buttons on portfolio.swf share the same class as the buttons on main.swf
This is the button class:
Code:
package com{
import flash.display.*;
import flash.events.*;
[Code]....
View 9 Replies
Aug 29, 2009
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 Replies
Jan 23, 2011
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] .....
View 1 Replies
Dec 30, 2009
Is 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
Jan 6, 2012
i have instance of "HelloClass" class on my main movie : _root.mc.HelloClass.variable1.fullurl
so my HelloClass exteds movieclip and has var named Variable1 that also class with var fullurl
i want to access fullurl string value dynamically , somthing like: _root.["mc"].["HelloClass"].["variable1"].["fullurl"]
so i can access every var from external swf
View 1 Replies
Jan 26, 2006
I've created a class that utilizes setInterval...I call it in a different class...and I can't get it to make the setInterval call. I'm thinking there's a scope problem but I don't see it.
Class w/ setInterval:
Code:
class Foo {
private var id:Number;
public function Foo() {[code]....
The function will get called but I need access to the class's instance variables inside display().
View 5 Replies