2014-05-12 102 views
-2

的Javascript:的Javascript HAXE成员变量的对象

function TeamSelection(player_id) 
{ 
    var playerInfo = new Object(); 
    playerInfo["info_" + player_id]; 
} 

HAXE: 嘿,我想这样定义对象,以便:

class TeamSelection 
{ 
     var playerInfo : Map<String>; 
     public function new() {} 
     public function changeField() 
     { 
      playerInfo.set("info_" + player_id, player_name); 
     } 
} 

但是我得到一个编译器错误,

我该怎么办?

Nevo。

+2

的JavaScript不是Java。 –

+0

那么在JavaScript中,我可以像这样定义对象 var obj = new Object(); obj ['info'+ player_id] = player_name; – user3625518

+0

你收到哪个编译器错误? –

回答

1

不知道你是triying做什么,但你必须实例化您的地图

class TeamSelection 
{ 
     var player:Player; 
     // i don't know why you don't stock your players directly.. 
     var playerInfo : Map<String,String>= new Map();// has to be instanciated 
     public function new() { 

     //create your player 
     player= new Player(); 
     player.id=1; 
     player.name="bob"; 

} 
     public function changeField() 
     { 
      //make use of string interpolation 
      playerInfo.set('info_${player.id}',player.name); 
     } 
} 
class Player{ 
public var id:Int; 
public var name:String; 
public function new(){} 

} 
+0

不要认为Map的正确输入是一个可行的事情吗?像...'Map ' – stroncium

+0

是的,谢谢你的错字 – postite