ActionScript 3.0 :: Defining A Constructor's Parameters Via Interfaces
May 29, 2010
Let us assume I have classes "Main", "Sub1" and "Sub2". I also have interface "Inter".[code] Basically, I want the constructor function of any class implementing "Inter" to take the same parameters, and thus avoid initialization errors. (So as that the code above gives a compiler error) With any other function,[code]But As the constructor name differs from function to function, I cannot do this.
I'm working on a very simple dependency injector, reflecting on a types constructor parameters.But when ever I use the describeType on my custom classes, all I get in the constructor packet of the returned XML is something like this:
is it possible to obtain the instance name of a class from the class without having to manually pass the instance name as a string parameter to the class constructor?
//Create New SizeClass var big:SizeClass = new SizeClass(); //-------------
I have the Class and the parameters of its contructor as an object. What I need to do is a function that returns an instance of this class, passing this parameters to the constructor.
This is the code: Some random and unmodifiable class:
public Foo { public function Foo(a:int, b:String) { // constructor } }
And some function (in some another class):
function bar(params:Object):* { var baz:Foo = new Foo(params.a, params.b); return baz; }
What I need to do is make this function generic, without pass params as parameter to Foo constructor because I can't modify it. Something like:
function bar2(clazz:Class, params:Object):* { var baz:* = new clazz(/*some magic way to transform params in comma separated parameters*/); return baz; }
I am working on a side-scrolling platformer game. Because of this, I have a class that acts as a floor. I also have a class representing enemies. I am having problems with passing a parameter to a custom class' constructor. The class (SkullDemon.as) extends MovieClip. I am trying to pass an instance (called "floorL1") of a customer class called "FloorLevel1." "FloorLevel1" also extends MovieClip (I do not have a written .as file for "FloorLevel1"; I just exported the floor MovieClip to that class).
I am trying to pass an instance of "FloorLevel1" so that the "SkullDemon" object can land on the floor just like in a platformer. My main class is called "TME2_Main." This is the class from which I try to pass the "floorL1" instance to the "SkullDemon" class. This is how I try to create a Skull Demon instance and pass "floorL1" to its constructor:
[Code]...
What am I doing wrong here? I have spent a while looking for solutions (including moving code outside of TME2_Main's constructor),
I want to serialize ThugtrisShapes' children (heritage/polymorphism) but his children like Right_LShape take constructor parameters,i have to assign it a default value (in my case null because they receive an Array type), but i get this error even when implementing IExternalizable.
Take Note: IForm extends IExternalizable.
here is a link i found about it but it still does not work...[URL]
Code: public class ThugtrisShapes extends Sprite implements IForm { var squares_:Array; var numsquares_:int=MAX_SQUARES;
[Code]....
I know that not all class' can be cloned , but cloning is an important aspect of OO programming.... There should be a solution for my problem,besides taking the parameter out of the constructor and add a setter.
I just posted a message asking how to call a method from the constructor which has the parameters e: Event. I mistakenly ticked that post as answered when in reality it isnt. I was told I could add = null in the parameter of the function to make it work, like this:
So I usually use an object in the constructor to receive the parameters like new Class({param1:00,param2:0099,etc).To be able to access those parameters from other functions inside the class I create an object, and copy it:
Code: public class MyClass { var params = {}; public function MyClass(p){
I've got a function wich can accept a varible number of parameter with a rest operator. I want create an object passing the argument collected with the rest operator directly to a constructor without create an object and call an initializing function and without passing the entire array but the parameters ah I do with apply() function.
How do I call class constructor functions with indefinite number of arguments?
For example:(this piece of code doesnt serve any purpose, just to demonstrate an example)I wish to create a new class Foo with the parameters bar1, bar2, bar3, bar4.
There is a library component represented by Class A. But constructor of this class requires some parameters. When the component needs to be added dynamically, it's fine because of code :
var abc:A = new A(param1,param2)
But what if my movieclip is already present on the stage. I notice it gives out error, that the parameters are null.
Is their any way to insert constructor parameters for movieclips already on stage.
Our company is about to create and distribute (and possibly to sell ) the utility to convert Silverlight apps to its equivalents on Flash.For this purpose we're writing our own AS3-compiler. The compiler for correct work must know how to interact with the classes backed into the FlashPlayer. The Flex Builder solves it by using the playerglobal.swc that is the part of its distribution package.As far as I know we have no right to redistribute the separate playerglobal.swc without the rest of Flex SDK.
And here is the question: Tehnically we're able to learn all the class interfaces defined inside of the playerglobal.swc with the help of e.g. the plugin ExportSWC (shipped for FlashDevelop) and redeclare them inside of our own swc (e.g. named PlayerGlobalInterfaces. swc) or somehow else.It would be enough for the correct work of our AS3-compiler without the need of using playerglobal.swc at all. But I'm not sure would it violate any copyrights or not?
Is there any way to create a sort of interface for variables? In other words to enforce a class to create and use a variable if they implement an interface or subclass something?
What I was told, which sparked my curiosity on this topic:Java gui classes can implement hundreds of Listeners and Callbacks and many books teach you to implement all these interfaces in your gui class. Alternatively, these aspects can be implemented in inner classes, so methods called by that listeners do not get mixed up.'d like to know how to do this in ActionScript, which doesn't have inner classes, but has private classes. But, I don't think I fully realize what inner classes are about, so I'm merely trying to wrap my head around the situation where I would use them to organize a class' methods by their usages.
I'm reading up on interfaces and to me I don't see the point in using them? I understand they follow a certain structure but I don't see the use of it in real world usage?
Does anybody know a way to apply an Interface to ObjectProxy, so that you don't have to declare the Interface implementations within the proxy?In other words, if the purpose of ObjectProxy is to proxy the Object in question (passing requests for properties and methods silently to the embedded Object), is it possible to tell the interface "hey, the functions you are looking for are already proxied, so don't bug me about them!"[code]But the function declarations kinda defeat the purpose of using ObjectProxy to begin with... I'd like the Interface to just "know" that "nemesis" is managed by the proxy, but still use the Interface for displaying context-help.which is how to code the context help so people using my MeatwadProxy will see context-help for the Meatwad class it contains?(And yes, I can already hear DrkStr and ASWC snickering at me in the background for continuing to believe in ActionScripts Proxy class. I also believe in Santa Claus, so there!)
It seems that Actionscript doesnt support defining static functions in interfaces. Whats the reasoning behind this?I think it would be useful to have that ability but I'm sure there must be a reason why its not there.
Should each button get a class and a listener, or should I dump everything into one Object and use e.target.name to figure out what is getting clicked? That way I can just use one listener, but then I won't be able to recycle anything. I could probably work around that though.
I am trying to get a handle on interfaces with AS3 and am kind of at a sticking point. Someone tried to explain them to me using legos and conceptually I get the idea of consistent interaction. Where I seem to get stuck is, I don't really see how the implementation of interfaces accomplishes this.
What's the best way around this problem with interfaces?
public interface ITest { function set testField(test:String):void; }[code]......
Test does have a setter for testField (an implicit one).I don't want to define an explicit one for every single field I have defined in my interface.There doesn't seem to be a way to define getters/setters in interfaces (or the syntax just escapes me).Do I have to do this explicit getter/setter nonsense in order to use interfaces in this way?
Is there any way of being able to use the standard iOS interfaces in Flash CS5? i.e blue title, grey striped background, popup keyboard, standard alert message? etc p.s where would one find example code and tutorials for writing the iphone apps as there seems to be nothing available.
I'm making a game which loads map .swfs at runtime. The maps will contain graphics and code, which can both vary from map to map. I've decided to make all the maps implement an interface, so they can all be used in the same way by the game. I'm using a .swc to contain the interface, like in this page.
I can get classes to work in the .swc, but not interfaces!
I'm using Flash cs5, and flashdevelop for editing, in AS3. Here's how I've been doing it:
1- create map.fla with a symbol called Map, and a Map.as:
The following code seems to create an ambiguity for the compiler (please see error commented near the bottom). Is it not possible to have getters and setters split between interfaces?