Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 使用反射和字符串id获取/设置Haxe中的动态对象_Actionscript 3_Haxe_Haxeflixel - Fatal编程技术网

Actionscript 3 使用反射和字符串id获取/设置Haxe中的动态对象

Actionscript 3 使用反射和字符串id获取/设置Haxe中的动态对象,actionscript-3,haxe,haxeflixel,Actionscript 3,Haxe,Haxeflixel,我把这个actionScript3代码移植到haxe public static const DATA_COMPLETE_LEVELS : String = "save_game_data_complete_levels"; private var _completedLevelKeys:Vector.<String>; public function get completedLevelKeys():Vector.<String> { if (this.

我把这个actionScript3代码移植到haxe

public static const DATA_COMPLETE_LEVELS : String   = "save_game_data_complete_levels";
private var _completedLevelKeys:Vector.<String>;


public function get completedLevelKeys():Vector.<String> {
    if (this.data[DATA_COMPLETE_LEVELS])
        return (Vector.<String>)(this.data[DATA_COMPLETE_LEVELS]);
    return null;

}           
public function set completedLevelKeys(value:Vector.<String>):void {
    if(value)
        this.data[DATA_COMPLETE_LEVELS] = (Vector.<String>)(value);
}
public static const DATA\u COMPLETE\u LEVELS:String=“save\u game\u DATA\u COMPLETE\u LEVELS”;
私有变量_completedlevelkey:Vector。;
公共函数get completedLevelKeys():Vector。{
if(此.data[数据完成水平])
返回(向量)(此.data[数据完成水平]);
返回null;
}           
公共函数集completedLevelKeys(值:Vector.):void{
如果(值)
此.data[data\u COMPLETE\u LEVELS]=(向量)(值);
}
我只是被haxe弄脏了手,我对Reflect有点困惑

Haxe中的等效代码是什么?

这应该可以:

public static inline var DATA_COMPLETE_LEVELS = "save_game_data_complete_levels";

public var completedLevelKeys(get, set) : Vector<String>;

function get_completedLevelKeys() : Vector<String>
    return Reflect.field(this.data, DATA_COMPLETE_LEVELS);

function set_completedLevelKeys(values : Vector<String>) : Vector<String>
{
    if(null != values)
        Reflect.setField(this.data, DATA_COMPLETE_LEVELS, values);
    return values;
}
public static inline var DATA\u COMPLETE\u LEVELS=“save\u game\u DATA\u COMPLETE\u LEVELS”;
公共var completedlevelkey(get,set):向量;
函数get_completedLevelKeys():Vector
返回Reflect.field(this.data、data\u COMPLETE\u LEVELS);
函数集\u completedLevelKeys(值:Vector):Vector
{
if(null!=值)
Reflect.setField(this.data、data\u COMPLETE\u LEVELS、value);
返回值;
}
这应该可以:

public static inline var DATA_COMPLETE_LEVELS = "save_game_data_complete_levels";

public var completedLevelKeys(get, set) : Vector<String>;

function get_completedLevelKeys() : Vector<String>
    return Reflect.field(this.data, DATA_COMPLETE_LEVELS);

function set_completedLevelKeys(values : Vector<String>) : Vector<String>
{
    if(null != values)
        Reflect.setField(this.data, DATA_COMPLETE_LEVELS, values);
    return values;
}
public static inline var DATA\u COMPLETE\u LEVELS=“save\u game\u DATA\u COMPLETE\u LEVELS”;
公共var completedlevelkey(get,set):向量;
函数get_completedLevelKeys():Vector
返回Reflect.field(this.data、data\u COMPLETE\u LEVELS);
函数集\u completedLevelKeys(值:Vector):Vector
{
if(null!=值)
Reflect.setField(this.data、data\u COMPLETE\u LEVELS、value);
返回值;
}
这应该可以:

public static inline var DATA_COMPLETE_LEVELS = "save_game_data_complete_levels";

public var completedLevelKeys(get, set) : Vector<String>;

function get_completedLevelKeys() : Vector<String>
    return Reflect.field(this.data, DATA_COMPLETE_LEVELS);

function set_completedLevelKeys(values : Vector<String>) : Vector<String>
{
    if(null != values)
        Reflect.setField(this.data, DATA_COMPLETE_LEVELS, values);
    return values;
}
public static inline var DATA\u COMPLETE\u LEVELS=“save\u game\u DATA\u COMPLETE\u LEVELS”;
公共var completedlevelkey(get,set):向量;
函数get_completedLevelKeys():Vector
返回Reflect.field(this.data、data\u COMPLETE\u LEVELS);
函数集\u completedLevelKeys(值:Vector):Vector
{
if(null!=值)
Reflect.setField(this.data、data\u COMPLETE\u LEVELS、value);
返回值;
}
这应该可以:

public static inline var DATA_COMPLETE_LEVELS = "save_game_data_complete_levels";

public var completedLevelKeys(get, set) : Vector<String>;

function get_completedLevelKeys() : Vector<String>
    return Reflect.field(this.data, DATA_COMPLETE_LEVELS);

function set_completedLevelKeys(values : Vector<String>) : Vector<String>
{
    if(null != values)
        Reflect.setField(this.data, DATA_COMPLETE_LEVELS, values);
    return values;
}
public static inline var DATA\u COMPLETE\u LEVELS=“save\u game\u DATA\u COMPLETE\u LEVELS”;
公共var completedlevelkey(get,set):向量;
函数get_completedLevelKeys():Vector
返回Reflect.field(this.data、data\u COMPLETE\u LEVELS);
函数集\u completedLevelKeys(值:Vector):Vector
{
if(null!=值)
Reflect.setField(this.data、data\u COMPLETE\u LEVELS、value);
返回值;
}
你当然是这个意思(Haxe 3+)

函数get_completedLevelKeys():Vector 函数集\u completedLevelKeys(值:Vector):Vector 你当然是这个意思(Haxe 3+)

函数get_completedLevelKeys():Vector 函数集\u completedLevelKeys(值:Vector):Vector 你当然是这个意思(Haxe 3+)

函数get_completedLevelKeys():Vector 函数集\u completedLevelKeys(值:Vector):Vector 你当然是这个意思(Haxe 3+)

函数get_completedLevelKeys():Vector 函数集\u completedLevelKeys(值:Vector):Vector
专用风险值是什么?你是对的,我可能想检查get/set中是否为null,并在设计类时相应地更新私有变量。但是在实现它时,我意识到我不需要更新这个var,只需要更新.data对象。我会考虑删除私人声明。谢谢你的回答!私有var用于什么?你是对的,我可能想检查get/set中是否为null,并在设计类时相应地更新私有变量。但是在实现它时,我意识到我不需要更新这个var,只需要更新.data对象。我会考虑删除私人声明。谢谢你的回答!私有var用于什么?你是对的,我可能想检查get/set中是否为null,并在设计类时相应地更新私有变量。但是在实现它时,我意识到我不需要更新这个var,只需要更新.data对象。我会考虑删除私人声明。谢谢你的回答!私有var用于什么?你是对的,我可能想检查get/set中是否为null,并在设计类时相应地更新私有变量。但是在实现它时,我意识到我不需要更新这个var,只需要更新.data对象。我会考虑删除私人声明。谢谢你的回答!你是对的,虽然你最好把它写成对已经被接受的答案的评论你是对的,虽然你最好把它写成对已经被接受的答案的评论你是对的,虽然你最好把它写成对已经被接受的答案的评论你是对的,尽管您最好将此作为已接受答案的注释