[]LayaDictionary的使用问题

LayaDictionary是需要修改所有代码中Dictionary的用法?比如Dic[obj]=1;需要全部修改为Dic.set(obj,1);?还是只要设置了编译参数后laya就自己搞定了?
已邀请:

layabox

赞同来自:

 
针对Dictionary其实LayaFlsah引擎有两套编译方案,旧的方案是早期为了让转换产品能尽早运行起来的临时方案,会存在性能问题。为了兼容一些已使用旧方案的项目还能正常运行起来,LayaFlash启用了两套方案,为了让编译器识别区分两套方案,需要用户去设置编译参数enableDic=false(具体设置方法打开后面的文档链接查看教程)。
 
无论是为了转换游戏的性能,还是去新开发游戏,请开发者务必采用LayaFlash引擎提供的新增方法LayaDictionary。既然是新增的,那么你在转换游戏项目的时候使用,的确需要所有使用Dictionary代码的地方,都要改写为LayaDictionary。如果你是用LayaFlash项目开发新产品,就直接使用LayaDictionary新增方法就可以了。涉及不到改或不改的问题了。
 
这里用你的例子,再说明一下
var Dic:LayaDictionary=new LayaDictionary();
//Dic[obj]=1;//原用法要改成新的Dic.set()
//Dic[obj2]=2;//原用法要改成新的Dic.set()

Dic.set(obj,"1");
Dic.set(obj2,"2");

for(var key:* in Dic)
{

trace(Dic.get(key));

}

最后,感谢您的提问,关于LayaDictionary新增方法的详细用法,请阅读LayaFlash开发者中心的文档:“LayaFlash新增方法”章节的 “5.Dictionary类的替代类LayaDictionary”
地址:http://layaflash.ldc.layabox.c ... 3D163

Laya_XS

赞同来自:

目前还不会自动编译修改,需要手动修改,具体修改用法你可以参考:http://layaflash.ldc.layabox.c ... 3D163

fftidus

赞同来自:

所有问的问题都是回答一句就不会再来看了,那你假装回答个p啊

要回复问题请先

商务合作
商务合作