Flash :: Creating An Instance Of A Class That Implements An Interface Based On The Class Name?
Feb 17, 2011
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();
View 1 Replies
Similar Posts:
Mar 13, 2011
I'm trying to load a RSL library into a flash animation developed with Flash CS5 IDE, that extends a custom class and implements an interface. I have reduced the problem to the simplest setup and find that I can have my main class extend another class or implement an interface, but not do both at the same time if I want to load an RSL.I have a very simple class to extend:
import flash.display.Sprite;
public class MySprite extends Sprite
{[ code]...........
but if I want both I get the VerifyError: Error #1014 with MySprite not found and ReferenceError: Error #1065.
View 2 Replies
Mar 25, 2010
With this code
function someFunction(classParam:Class):Boolean
{
// how to know if classParam implements some interface?
}
i.e. Comparing classParam with IEventDispatcher interface
[Code]...
There is a way that DOES NOT USE describeType or creates a new operator?
View 2 Replies
Jan 18, 2011
How can I test if a class reference implements an interface? Note that the is and instanceof operators do not work with Class references.
Example:
public function set someClassref(value:Class):void
{
if(value is IMyInterface)[code]........
View 1 Replies
Apr 29, 2011
Not sure if this is possible but I would like to reflect a swf or swc file selected by the user at runtime to find any classes that implement a certain interface. Can this be done or do you actually need a reference to the class you want to reflect using describeType();
Note - this would be done in actionscript.
View 1 Replies
Sep 7, 2011
In ActionScript 3.0, there are a few ways to check a class's extension. For example, if I want to know of a custom class extends Sprite I could use the is operator:
trace(MyClass is Sprite);
Or I could use flash.utils.getQualifiedSuperclassName:
trace(getQualifiedSuperclassName(MyClass));
I would like to accept a class as an argument and check to see if the passed class implements an certain interface. Is there an equally simple or common way to check if my custom class adheres to an interface? Perhaps something like:
trace(MyClass implements IMyInterface);
View 2 Replies
Sep 3, 2009
I am overriding the addItem() function of an array collection and I would like to detect if the added item implements a particular interface. Previously I used the, is operator to detect the class type, but now that I am using an interface for classes I would rather test to see if the object implements the interface. I expect I could just try and cast the object as the interface and see if it's not null. Is this the best way to do it? I could also just create a new addFunction() that only accepts objects of the interface type.
View 2 Replies
Aug 19, 2010
recently, I research for the collection framework, and find LinkedSet(AS3Commons collection framework,it is a good opensource framework) written in ActionScript, but it can't use as dataProvider in ComboBox or DataGrid, because only implements ICollectionView can use as dataProvider. So I want to try if a class implements ICollectionView can work or not. I know Flex has build-in class implements ICollectionView, but I only want to define a class not use build-in class. The class as simple as possible.(can work is enough)
View 1 Replies
Jul 22, 2009
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.
View 6 Replies
Sep 4, 2009
I am building a simple tamagotchi - alike application in AS2 and Flash is acting kind of weird on me. Lets say i have a .fla file with all my animations called Kitty.fla, then I have an external .as file called Kitty.as which contains a Kitty class with the itty(attribut i need to give it) function.On the 1st frame on the timeline i have the following:var kitty:Kitty = new Kitty('my attribute');when compiling the movie, flash automatically creates an instance of Kitty but WITHOUT my attribute (its given a default value specified in the code) and then proceeds with the instance according to what i wrote above. So at the end i basically end up with two kitties, one with default attribute and second with the attribute specified by me, while I only need the one with the specified attrribute
View 7 Replies
Sep 15, 2011
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.
What about AS3 classes am I misunderstanding?
View 2 Replies
Jan 22, 2010
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
{
[code]....
View 2 Replies
Jul 25, 2011
I have a situation wherein I would like to know if there is any impact on performance.
I have two custom classes customClass1.as & customClass2.as written below:
[Code]...
View 5 Replies
Dec 29, 2008
I am having some problems with creating different instance of the same class in as2..Pretty sure this should work in as3, so I'm not sure exactly.[code] I thought using the new keyword should create a new object independent of other instances..unless constructors are static in as2 and i just didn't know it.
View 1 Replies
Dec 27, 2010
When I try to create a new instance of a class that I created from a symbol in the library, I get a 1010 (A term is undefined and has no properties) error. I gave it a class name in it's linkage properties and it extends MovieClip. Is there anything else that I'm supposed to do? Maybe it's a syntax error when I'm creating an new instance of the class. It used just like any other class or datatype, right?
View 8 Replies
Dec 16, 2009
Topic title explains what i want to do. Say I have a variable roomNumber (a string) and in a game where i move about, roomNumber will change (say, room34 to room35). When a new room is visited i want a new instance of my class Room to be created, but with the instancename of what the variable currently is. (point is that i can go back to a previous room, without it being changed because the instance has already been created) so... roomNumber:RoomClass = new RoomClass(); well, it unfortunately works so that the new instance is named roomNumber, and not room34.
View 4 Replies
Sep 7, 2007
i am working on a project where i have some common code which i import in different movie clips and different files the code is in actionscript 2 in an external .as file. this is not a class its just a bucnh of functions and temporary variables.Problem is when i use the check syntax button or auto format button i get the following error."ActionScript 2.0 class scripts may only define class or interface constructs."this used to work fine in flash 8 but it always gives this error since i started using flash 9.the code works fine too. its just that my auto format button and the check syntax doesn't work.
View 5 Replies
Sep 29, 2011
Can I create an instance of a class from AS3 just knowing it's name? I mean string representation, like FlagFrance.
View 2 Replies
Sep 4, 2010
I would like to make a new instance of a MovieClip within my library from code written in my keyframe. I relise that you can do this by making a class and using the codeCode:var instancename:movieclipname = new movieclipname(); and with the MovieClips class I would need to extend MovieClip and nothing else. I am unsure if you put in the name of the MovieClip or the name of the MovieClip class in the code above so feel free to correct me. But instead of doing this can I just add a MovieClip to my stage with doing this
View 4 Replies
Apr 12, 2011
I have created some code in Actionscript 3 following various tutorials which is a simple media player linked to an XML file for the source information.I have found out though I need to use actionscript classes for the code and wondered is their a way to convert it to classes or does anyone know of a tutorial in actionscript 3 for creating a media player based on classes? My code is below:
import flash.net.URLLoader;
import flash.events.Event;
import flash.net.URLRequest;[code]...............
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
Nov 7, 2011
I have a question regarding AS3 memory management. Supposing I created an instance variable for a Class, in this case or type Sound:
public class SoundStore extends Sprite{
var s:Sound;
Then within various class functions I referenced this variable multiple times, each time I wanted to load in a new sound:
s = new Sound();
Am I correct in thinking that each time I created a new Sound I would be overwriting the previous allocated memory?
View 1 Replies
Nov 6, 2006
I have recently started out with flash oop concepts and was wondering how to do create an instance of an extended movie class without dragging and dropping the clip from the library ....I have figured out this method..
for(i = 0;i<100;i++)
{var mc:MovieClip = attachMovie("ball","dasd"+i,_root.getNextHighestDe pth());
mc._x = Math.random() * 600;
mc._y = Math.random() * 600;
}
but this way I cant pass arguments to the constructor function of the ball class..
View 1 Replies
Sep 18, 2011
So I have one movie clip on stage rect_mc and document class Main.as I can import movie clip to document class with [code]...
but is there any way to manipulate rect_mc without craating new instance and attaching it to a stage with addChild()
View 2 Replies
Apr 14, 2011
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.
This is my Wolf class:
Code:
package
{
import flash.display.MovieClip;
import flash.events.Event;
[Code].....
View 7 Replies
Apr 8, 2010
Is there any non-hacky way to determine wether a class' superclass implements a particular interface?
For example, assume I've got:
class A extends EventDispatcher implements StuffHolder {
protected function get myStuff():Stuff { ... };
public function getStuff():Array {
[Code].....
How could I perform that super is StuffHolder test in a way that, well, works? In this case, it always returns true.
View 3 Replies
Dec 10, 2010
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?
[Code]....
View 1 Replies
Aug 13, 2006
i have incuded an AS file in my fla. But is gives an error ball.as: Line 73: ActionScript 2.0 class scripts may only define class or interface constructs.
[Code]...
View 1 Replies
May 11, 2006
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
Code:
XClassListener.initialize(this);
this.addEventListener("throw", "net.webbymx.game.Player", "wait");
and in my opponent team I can do
Code:
XClassListener.initialize(this);
this.addEventListener("throw", "net.webbymx.game.Player", "seek");
View 4 Replies
Jun 16, 2011
I have an older site that is coded in AS2(I can't get it to AS3 sorry) I found this script online that allows for mouse scrolling. It is in AS3 and I can't figure out what Event replaced in AS2. I'm sure there are much better AS programmers than me that could tell me off the bat. I'm just trying to get this converted to AS2.
var verticalCenter:Number = stage.stageHeight / 2;
var limit:Number = stage.stageHeight - content_mc.height;
var speed:Number = 0.1;
[Code]....
View 1 Replies