获取spriteFrame大小,然后改变刚体碰撞区域大小:
// 根据角色设置马里奥刚体大小和位置
var spriteFrameSize = this.standFrames[0].getOriginalSize();
var physicsBox = this.getComponent(cc.PhysicsBoxCollider);
// physicsBox.size = spriteFrameSize;
if(hero===0){
physicsBox.size = spriteFrameSize;
}else {
physicsBox.size = cc.size(50,50);
physicsBox.apply();
}
physicsBox.offset = cc.v2(0, spriteFrameSize.height / 2);
初始化的时候是可以生效的,再次修改,需要调一次apply()才会生效,否则页面会没有改变;
参考:https://docs.cocos.com/creator/api/zh/classes/PhysicsCollider.html#apply