在2.4的版本里已知某个类名, 可以通过
let c = js._registeredClassNames[className]
这种方式获得类名, 然后直接用来创建该类的对象.
let newObj=new c();
但是在3.2版本中, 没有找到这种方式了, 并且通过js.getClassByName(className) 也是不行的.
所以有什么方式可以实现呢?
在2.4的版本里已知某个类名, 可以通过
let c = js._registeredClassNames[className]
这种方式获得类名, 然后直接用来创建该类的对象.
let newObj=new c();
但是在3.2版本中, 没有找到这种方式了, 并且通过js.getClassByName(className) 也是不行的.
所以有什么方式可以实现呢?
没有人有这个需求吗? 
import { js } from 'cc';
js.getClassByName(name)
这个方法是否能满足你需求?
不行… 获取不到的…
其实2.4的版本的时候, 这个方法也是获取不到的. 只能通过 js._registeredClassNames[className] 这个来获取.
但是升到3.2之后. 就不知道是怎么获取了… 感觉这个需求比较小… 是不是都没人用 
2.4到3.3都可以获取,我一直在用
![]()
但是为啥我这就用不了呢
我这边想达到的效果是, 传入一个String类型的类名 然后获得该类的class.
方法是 getClassByName() 并不是getClassName().
我这边是在配置文件里面, 配置了类名比如 Mission , 然后后面是配置的一些固定数据.
我想把这个配置加载的时候, 生成一个这个类的实例, 把配置的数据设置进去. 然后在游戏过程中, 就从内存里直接使用这个对象了.
可能我只是在develop环境用。release环境我不知道。不知道你这个和这个有关没
你用的方法跟我想用的方法不一样… 你那个只是获取了某个对象的类名.
我是想通过类名获得某个class 去生成对象…
看一下是不是你这里的类名没有写,写的话应该是可以通过js.getClassName(type)获取到的
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。