开发者

Templates for AS3 (like c++)

开发者 https://www.devze.com 2022-12-08 12:29 出处:网络
How do I开发者_开发问答 define C++-like templates in AS3?; I have a map class (2d array) that I want to re-use across projects but the cell data is a different class depending on the project or implem

How do I开发者_开发问答 define C++-like templates in AS3?; I have a map class (2d array) that I want to re-use across projects but the cell data is a different class depending on the project or implementation;

There are a bunch of other reasons regarding sharing code accross different implementations, but I'd hope for somthing like:

map = new MyMap<MyCell>();

Doesn't matter if it's Flash 10 only :-p

Cheers, Chris


There aren't templates, but dynamic typing and using classes as values might be good enough for your purposes.

You can make a class that takes a class and stores it as an instance variable.

class MyMap {
 var myClass:Class;

 function MyMap(c:Class){
  myClass = c;
 }
}

And then you feed the class to it...

map = new MyMap(MyCell); 

And then in methods, you can refer to that class.

// Inside MyMap somewhere
var someWhatever:Object = new myClass();
// or
var someWhatever:Object = Object(myClass).someCachingSchemeStaticMethod();
// or whatever.


You can't make your own template classes. The only one you have in the whole of AS3 is Vector.

There's an open feature request for the same on JIRA. Feel free to upvote.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号