creator 编辑器中 cc.Enum 中的字符串枚举不能正常显示

image

抱歉你这个枚举编辑器属性怎么用 Enum 选择?别忘了字符串枚举不能直接使用 Enum 作为编辑器属性类型使用

要用在编辑器上,就不要用字符串了啊,我一开始就说用字符串没有意义
因为既然要enum了,就是代表要分情况讨论的(不然直接设置一个值就行何必enum)
既然要分情况,你每种情况下去处理就行了,为什么要设置字符串的值去参与运算呢

提出的问题是怎么使用字符串值类型的枚举用编辑器展示出来,你不可能解决不了问题就把提出问题的人干掉吧

我说的是这么做意义不大,至于怎么解决比较合理我也早就说了

你所谓的合理就是switch中更长的代码 + 编辑器无意义的显示内容 + 获取枚举值需要分割字符串

所以我觉得你说的很对,你的代码
写的人累,看的人累,编译器看了都直摇头

你这有点耍赖了,我说的是“我们做功能的目的是让人用起来方便,选项内容是在表达清楚意思的前提下越短越好”,能理解么?分割字符串是你说出来的,我说了不止3次了别做一些无意义的事。

不要用有无意义逃避话题,存在就有人用,有人用就有意义,你说的 ”无意义“ ”意义不大“ 只是针对你自己而言,不要把自己的经验套用在别人身上,楼上包括我自己都在用字符串值的枚举,对我来说字符串枚举值就是有意义的

你说的用起来方便是对的,字符串分割也是我说的,那么我倒是想知道你有什么高招取出你前面说的在编辑器内展示的枚举的字符串值?slice? split? match?

那么我倒是想问问,这些方式有比直接通过 obj[key] 高效以及你说的方便?如果不是上面的方式,那么我倒是好奇 你怎么通过编辑器属性的值(number)从

enum color {
    "red:#ff0000",
    "yellow:#0000ff"
}

这里面取到后面的 #ff0000 颜色值,请不要说用下面

enum color {
    "#ff0000",
    "#0000ff"
}

这种方式,因为我上面已经回答过了,如果你用这种方式?我怎么在编辑器选择我想要的颜色?比如淡紫色?
希望你能继续撑下去,加油

你到现在还没明白我的意思,我说的是enum的值设置成字符串是无意义的,只需要number就足够了,因为既然要enum,就代表需要分情况处理,那么你switch case每种情况单独处理就完事了。
如果是不需要switch case分开处理的情况,那么这里根本不需要enum,一个color拾色器或者输入框获取变量就足够了,所以我说你费劲去把enum的值对应字符串,为了能参与运算是无意义的。
这个问题本质就是这么简单,跟你服不服气一点关系没有,我说的够明白了吧?

哈哈,现在还在用有无意义逃避问题,那么请你上代码,在编辑器属性面板展示 enum 样式的选择框,选择框里有用户需要看到的颜色描述(比如 red、yellow …),选择后怎么获取对应的颜色值?比如 “#ff0000

请不要说其他的,直面问题,实现楼上的需求,展示你的代码,让大家看看你的代码有多方便,而且请不要用字符串枚举值的枚举,因为你说这样无意义


最优解早给你了啊,为什么不看呢?别再说这里不需要switch case,不方便什么的。
如果只是为了取值,这里根本不需要enum,直接拾色器获取色值就行了。
既然用了enum,就代表除了取值,还有其他功能要处理,那switch case就是必要的

这是第三次了,你怎么把这个漏了?而且如果我修改枚举里面的值(“#ff0000”)怎么才能让 switch 里面的代码不受影响或者自动同步?别忘了字符串枚举值不需要关注这个问题

这是我楼上的回复,我也想问

你说的这种需求,没有使用场景。
你都enum了,改个颜色你就手动改呗,为什么要把enum转成字符串的值呢?
还是没理解enum和Object的区别。

你去百度一下,枚举是什么意思,就知道设计者为什么要这么处理了

你说的使用场景就在一楼和下面几楼,可能你又粗心大意给漏了

别写太多 ts 把自己脑子写木了,ts 只是一层衣服而已

另外回归问题,请你给出上面的答案

我还想看看你怎么撑,我就喜欢和你们这种没什么实证还死不承认的人扯

我倒是想看看你怎么实现比评价我上面代码更好的实现方式代码,请直接用代码说明,你扯再多不如能运行的代码有用

你提出一个没有使用场景的需求,一直问我怎么实现最好,我说了在已经作为enum来实现的情况下,你所说的自动同步没有必要,手动改就行了

希望你的身体正常,不要再自动屏蔽部分发言

你要能自动同步,写个数组映射一下多简单?但我还是不建议这么做因为没有必要

你不是说我上面的代码很 费劲 吗?

我想看看不费劲的代码,至少我的代码不需要手动改值,你口中不费劲的代码应该早就满足了吧?

还是说你口中不费劲的代码用起来比我这个费劲的代码还要费劲?不会吧不会吧?难道你自己写的代码就是不费劲的?别人的就都是费劲的?

请上代码