ActionScript 3.0 :: Retrieving Instance Position From A Class?
Feb 22, 2011
I have an instance, hero linked to class Hero.as, and enemy instances "enemy1", "enemy2", "enemy3", each linked to Enemy.as class. From inside the Enemy.as class I would like to know the position of the hero instance and be able to move them accordingly towards the hero. If I was working from within the document class I could do something like hero.x and hero.y to get the x and y position of the hero.
I'm working on board game which involved dragging different coloured squares onto an 8x8 square grid. I can't seem to figure out how to get the squares to drop onto whichever square the mouse releases it on.Is there a way to retrieve the instance name of any objects on the stage that the mouse rolls over?
I'm developing an AS3 module where the user interacts with certain hardware. One part is highlighting the hardware's features when the user hovers certain points on it. There's quite a lot of work to be done here (about 6 modules with about 30 highlights each) so I figured I would make it as changeable as possible.
On the stage I've placed all instances of a movieclip that acts as the pointer for the highlights. This movieclip uses a class that animates it upon mouseover/mouseout (hence only two animation functions are required for them all). At the same time I want to display a unique text for every point, and this is where the trouble comes in. I figured I could attach data with each instance to the class somehow, and then create a new text field upon accessing the class. This is what I came up with:
Code: // Features f1.name = "V�xla mellan anv�ndnings- och vilol�ge."; f2.name = "Display."; f3.name = "Visa den elektroniska programguiden.";
[code]....
As you can see I tried using the instance property name to attach the data, it failed though (I didn't get a compile error for this but I couldn't retrieve the data in the class).How would you approach this? Do I have to create a variable for each instance's data, then match them (same number etc.)?
i have four buttons instances (of same object) on the stage first_btn,second_btn...fourth_btn). i created an array (btnArray) and stored buttons instance name in it. After this i created an timer event to cycle through all the button for certain interval.the code is:-
function timerListener(e:TimerEvent): void { while ( i <= (btnArray.length - 1)) { trace(btnArray[i]);
I have a base class which is being created via remote_object [RemoteClass alias] from the server.I have other specialized classes that are derived from this baseclass, but serialization with the server always happens with the base class.The base class has meta data that defines what the derived class is, for example
[RemoteClass (alias="com.myco...')] public Class Base {
I'm using a library that has a function that returns an instance of some class Engine.
I'd like to tack on some interfaces to Engine, so I subclass it class InterfacedEngine extends Engine implements AwesomeInterface. but when I change the code that uses the classes from this:
var engine:Engine = generateEngine();
to this: var interfacedEngine:InterfacedEngine = generateEngine();
It gives me a runtime error (elision mine):
TypeError: Error #1034: Type Coercion failed: cannot convert ...::Engine@1bc2bf11 to ....InterfacedEngine.
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 creating a little game - The player controls a character that follows the mouse. Pigs run away from the player, and the player has to get them all into a pen. To make the game a little more difficult I'm trying to add an enemy - wolves, that attempt to perform a 'hunt' method every x seconds. This method sends a reference of the wolf instance to Main (my document class) and Main then loops through the pigs on stage to see if there's any nearby. Now as far as I know this works - my problem is I'm unsure how to send the pig instance reference back to the wolf that called the hunt method, so it can then 'target' the pig, and then attempt to pounce on it.
I have created a loader class that retrieves variables from an external text file. I call the loader class and all works well but I cannot figure out how to retrieve and use the variables in the Main class.
I am curious if this is an okay implementation of the Array.filter() method.
[Code]...
I was not able to figure out an implementation of the callback function for the filter() method, where the callback was outside of the getGallery() function. I wonder if there is a way to get the isGallery function outside of the getGallery scope?
Quick question. I have been Googling this all morning, but it's either not there, or else written in a way that doesn't register. I am inclined to believe the latter, as this seems like it should be something completely trivial to me. I made a small Flash file using AS 3.0, and this is the first time I've really been able to stick to the OOP way of doing things and not hack together a mix of stuff from the timeline to get around not having everything work in the classes.
So I'd like to keep it that way, but one thing is eluding me: I can't call a method of an instance of another class (than the one I'm calling from) without resorting to "DocumentClass(root).instanceName.method." Intuition tells me there has to be a better way of doing this (like, without having to reference the document class every time I call another class instance's function; and CERTAINLY without having to use the word "root" - that just seems so Flash 5 to me. Does anybody have a better way of doing this that they can share?
The code works, I'm jsut unable to read the Class variable "myString" on the main timeline.I thought I could pass the "myString" value from the Class to the Main Timeline?I created a variable in an external Class .as file.See coding below.
//------- Code on main timeline .Fla var testClass:MyClass = new MyClass(myString); var myString:String;
I need to access successfully loaded XML data from the main document class BUT from objects multiple levels deep. I could hack around this setting properties deep down from the top but it doesn't seem like good practice. Is there a better way?
I've got a movieclip in my library called primaryCommMC.I'm loading these 5 times onto the stage and naming them commMC0-4 using the following:[code]Right now they're all obviously loading on top of each other. I want to stack these movieclips on top of each other so the first movieclip will be at y=0 and the following at y=(the height of the proceeding MC + 5 (a little gap)).
How can I obtain the position of a instance whose name is stored in an variable? If there is a instance whose name I don't know, but the instance's name is store in an variable x. How can I obtain its position?
basically, I am trying to create an instance at the correct position. I understand that I will have to utilize globalToLocal() and/or localToGlobal() to get relevant positions, but for some reason, I can't position the instance at the correct location. here is the codes:
Code: x = localToGlobal(new Point(pX, pY)).x; y = localToGlobal(new Point(pX, pY)).y;
pX and pY are the arguments for the Bullet Class. When I do this, it is shifted over 100, so the absolute position being x = 200, y = 200, and the local position being x = 100, y = 100.
How to get the _y position of a movie instance generated by the AttachMovie method? I'm trying to do something like this. _root . mc full of attachedMovie instances . one of those clips . _y The path I'm really using looks like: _root . text . infoblock4 . _y
Is there a way to generate an instance of a class that implements an interface based on the name of the class?
I am trying:
var ClassReference:Object = getDefinitionByName("movement.OuterSpaceMovement") as IMovement; var m:IMovement = new ClassReference as IMovement; trace("startup..." + m);
-But I am getting an error message ReferenceError: Error #1065 (OuterSpaceMovement) not defined.
I have several classes that implement the same interface (IMovement) but I need to be able to generate new instances of these classes and then pass these instances as a datatype (IMovement datatype) to other classes...
So then I tried:
var ClassReference:Class = getDefinitionByName("OuterSpaceMovement") as Class; var m:IMovement = new ClassReference() as IMovement; and this doesn't seem to work...but the following var m:IMovement = new OuterSpaceMovement();
I'm trying to create a new instance of a MovieClip when the original one has been used. Would sound easy enough. Just use: var
instanceName:ClassName = new ClassName();
the class name/mc in the library im trying to duplicate is MCg1 so
var instanceName:MCg1 = new MCg1(); right?
However, the particular object in the library i'm trying to duplicate has a base class that is an external class file (just to control it's drag drop functionality)... i.e baseclass is not set to the standard flash.display.MovieClip, or whatever the case maybe. So i end out with a: TypeError: Error #1009: Cannot access a property or method of a null object reference.
I've done a class to be able to listen to the event for a CLASS not on an instance.
Code: class net.webbymx.events.XClassEventListener {[code]....
why did I do this.It cames with my rugby game.I have player in two teams. When a player throw the ball I want the other teammate to act like "wait for ball" and the opponent like "seek for ball". Plus I'm lazy (and I don't want to register the listener for each instance of the player I'm creating). So this class is made to be able to handle as many instance of a class I want without adding a listener on each of them. I'm just creating a global listener on the class and then I will be able to receive dispatched event for any instance of this class .so in my team I can do
What it says on the tin: I have an XMLList, and I want to find where in it a particular XML item falls. First index is good enough for my purposes. Note that I have no problem writing a function to do this by hand... but I was hoping that the API has something buried somewhere that'll do it for me. I didn't see it, though.
Given that both of these calls to getQualifiedClassName return the same thing (mx:Label), how would one go about programatically differentiating between an instance of a class and a reference to the class...
var lab1:Label=new Label(); var lab2:Class=Label; var qcn1:String=getQualifiedClassName(lab1); var qcn2:String=getQualifiedClassName(lab2);
In other words, how could I know that lab1 is of type Label, while lab2 is type "Class". typeof() simply returns "object" for both... getQualifiedClassName returns "mx.controls::Label" for both...
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?
I'm having a problem where I can't make an instance of a class in one class like I can in other classes all in the same package. When I call the update function from another class it doesn't work. I traced the xPos of the instance of the class I was talking about and I get zero, but that is incorrect so I'm thinking it's the above problem. If anyone knows what the problem is please tell. Here's my code:
I'm creating a Papervision3D scene in a document class. I have added an instance of a PointLight3D object. I'd like to create a class that uses the light instance in the main document class for its material. What would the Actionscript be to do this? I can't refer to the light as super.light because my class is inheriting the Sphere class. parent.light does not work either (even if I wait for the class to be added to the stage).