我想遍历枚举里所有的对象,有啥办法呢?
cc.Enum.getList这方法我用了不知道为啥长度一直为0。。。
比如:
cc.Enum.getList(cc.Node.EventType);
如果我自己要定义一个枚举类型,在其他的类里面任何地方都想遍历呢?我该怎么做呢?
感谢大大们,刚开始接触 0.0
我想遍历枚举里所有的对象,有啥办法呢?
cc.Enum.getList这方法我用了不知道为啥长度一直为0。。。
比如:
cc.Enum.getList(cc.Node.EventType);
如果我自己要定义一个枚举类型,在其他的类里面任何地方都想遍历呢?我该怎么做呢?
感谢大大们,刚开始接触 0.0
因为 cc.Node.EventType 里面定义是值是字符串, 所以无法定义为 Enum,导致你获取为空。
你可以通过 Object.keys(cc.Node.EventType) 来获取 keys ,这样就能获取到长度了
定义一个头,一个尾,++循环
如果我在当前类里面定义一个枚举对象,是可以遍历的,但如果我想有个专门的枚举类,然后别的地方去遍历呢?好像一直都是为0,我该怎么写呢?
能否看一下你如何定义枚举的
var aa = cc.Enum({
aa : “aa”,
bb : “bb”,
});
这是在一个a.js的文件里面的,感谢~
楼上我提到了,定义 Enum 的数值不能是字符串,不然获取到的长度是为 0 的,
你直接定义对象就行了
var aa = {
aa: "aa",
bb: "bb"
}
var keys = Object.keys(aa);
keys.length
额,我好像看到源码里面是这样的?
/**
还有就是,这样在a.js里面是可以获取到了,但如果我想在b.js里面Object.keys(aa);呢?我该怎样去写比较规范呢?
源码这里会进行修复,cc.Enum 只支持数值为数字的 枚举
你就用 Object.keys(aa); 获取 keys 吧
辛苦了,感谢~