是否可以为实体定义更准确的自定义形状碰撞框而不是矩形? 请告诉我是否有可能以及如何?
答案 0 :(得分:3)
当然有可能,并且有多种可能的解决方案:
但是,如果您只想进行一些自定义形状碰撞,Box2D会有点沉重。
ig.Game.checkEntities
,这允许您循环浏览游戏中的所有实体并按照您想要的方式检查它们的碰撞。ig.Entity.check
,只有当自定义形状包含在实体的矩形中时,你可以在此函数中进行实体形状碰撞检查(之后)实体矩形碰撞已经发生。)。 ig.Entity.check
示例:
MyEntity = ig.Entity.extend({
customShape: 'circle',
// custom shape definition...
customShapeProperties: {radius: 0},
check: function(other) {
// custom shape collision check...
if (...) {
this.customCheck(other);
}
},
customCheck: function(body) {}
});
// now if all your entities inherit MyEntity,
// they will have customCheck called only when the custom shape collision occur.