一般来说 会在 游戏的逻辑层中为 每个对象 做一个封装。
比如 在coinflip 里边,Coin对象就继承自 一个 sprite。
那 如果我使用了 chipmunk,游戏中的一种元素是一个刚体,同时又是一个sprite,怎么来设计这个 元素比较好呢?
是 集成一个 Body 还是 sprite,或者是 单独一个类,然后 将 body和sprite都作为这个类的 一个元素。
另外, 我目前是 继承Body的方式来做的。
但 发现 setMass setFriction setElasticity 这几个方法似乎没有生效,代码如图所示:
后边 打印出来 看上去 mass 是赋值了,其余两个赋值似乎也没有成功。打印结果 见下图:
但在 游戏中, setMass完全没有效果,也就是说 在游戏中 仍然是 mass=1的效果。
【根据mass初始化时,createXXXBody函数中会计算moment值,并设置到Inertia属性中。因此,后边光是修改mass是不行的,需要手动计算并修改Inertia属性的值】