Egret社区
今天入坑搞了下box2d,继承box2d库之后写了一个demo,就是模拟四周的墙,形状用的是B2edgeShape,但运行的时候发现报错: Cannot read property 'ComputeAABB' of null
于是追踪了下了代码,发现是继承自b2Shape的B2edgeShape并没有复写基类的copy方法,于是在Box2d.js里面复写了一下:
  1.   b2EdgeShape.prototype.Copy = function () {
  2.         var s = new b2EdgeShape(this.m_v1, this.m_v2);
  3.         s.Set(this);
  4.         return s;
  5.     };
  6.     b2EdgeShape.prototype.Set = function (other) {
  7.         this.__super.Set.call(this, other);
  8.     };
复制代码
重新打包,编译后就可以了。
当然这是一个很直接的处理方案,不清楚这样改会不会影响到其他地方的东西,毕竟也是第一次入坑搞这个~如果有大神发现这样修改有不合理的地方,恳请指正~

分享到 :
0 人收藏

1 个回复

倒序浏览
王光  登堂入室 | 2020-3-10 16:56:27
大神 可以给个box2dweb的库吗  非常感谢 652990306@qq.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部