cocos creater 获取 class实例 getClassByName

项目中解决问题的方案记录一下,避免下次还得再找

背景

项目已经上线,需要通过热更的方式扩展引擎
所以需要重写部分引擎代码

现状

通过 cc.class 定义的部分方法, 没有绑定到cc命名空间
导致无法通过cc.Asset 这种方式获取类名
但是需要 重写这部分代码
cc.class 没有获取class的方法

解决方案

通过查看 CCClass 方法 发现 通过cc.class 创建的类,都会保存到cc.js的命名空间 所以。我们可以通过 cc.js.getClassByName("") 的方式获取类。参数为:cc.class()创建的时候传入的类名

		var Skeleton = cc.js.getClassByName("sp.Skeleton");
        var addFuncSkeleton = function(curSkeleton){
  			// 在这里复写需要
        }
        Skeleton && addFuncSkeleton(Skeleton)

猜你喜欢

转载自blog.csdn.net/qq_45504161/article/details/122016025
今日推荐