Cc.game.config.id.getContext("2d")返回null

cc.game.config.id我看过了是有值的:canvas#GameCanvas.gameCanvas类型的值

getContext的确也有这个方法,并不是undefine

为了避免页面没加载完导致返回null我也用cc.director.getScheduler().schedule设置10秒后执行了,但还是返回null

这是什么原因呢

cc.game.canvas 就可以获取游戏 Canvas 对象了,不需要这么麻烦。

至于你获取不到 2d 的原因是这个 context 已经被初始化为 WebGL context 了,传 2d 参数进去是取不到的,传 webgl 进去可以取到 WebGL context 对象。

1赞

那webgl是不是用不了box2d的调试啊 cc.game.config.id.getContext(“webgl”)的确有值了 但是到这一步又蹦了

__this.m_ctx.clearRect为undefine

WebGL 的接口和 Canvas 是完全不一样的

如果只是开发阶段想要调试,可以强制使用 Canvas 渲染模式,在 preview 的设置面板中可以选择

1赞

运行正常了 没有报错了 就是感觉没看到box2d的debug模式是怎么样的啊 至少每个body外都绘制个框吧,什么都没看到 不知道是不是我的代码写错了

最后有解决吗,

问题解决了吗?