代码拉取完成,页面将自动刷新
当一个节点要进行移动时,我们经常会使用setPostion, cc.MoveBy, cc.MoveTo和缓动系统来进行,但是刚体的移动有点不同,setPostion对它不起作用,不过刚体可以通过如下方式移动:
瞬时动作cc.place来进行移动而且不会影响刚体原本的运动轨迹
Action的所有动作。cc.moveBy;cc.moveTo;等等
碰撞组件没有类型之分,只要相交就会发生碰撞事件,如果不对碰撞进行处理,那就没有任何影响。
物理碰撞组件分类型,因为他们先会绑定刚体。如果刚体类型不同则会有不同的效果。
和Dynamtic类型刚体绑定的PhysicsBoxCollider会受重力影响,可以设置速度;
和Static类型刚体绑定的物理组件,不会受重力影响,不可以设置速度,可以通过设置位置让其移动;
和Kinematic类型刚体绑定的物理组件,不受重力影响,可以设置速度。
绑定了Dynamic(运动)类型的物理组件不能穿透绑定了Static(静态)类型的物理组件;
绑定了Dynamic类型的物理组件不能穿透绑定了Kinematic类型的物理组件;
Static和Kinematic不会触发碰撞事件,Static和Static;Kinematic和Kinematic不会触发碰撞事件;
//在函数碰撞体刚开始接触时调用一次。
onBeginContatct: function(contact,selfCollider,otherCollider){}
//在两个碰撞体结束接触时被调用一次
onEndContact:fucntion(contact,setCollider,otherCollider){}
//每次要处理碰撞体接触逻辑时被调用
onPreSolve:function(contact,selfCollider,otherCollider){}
//每次处理完碰撞体接触时被调用
onPostSolve:fucntion(contact,selfCollider,otherCollider){}
//碰撞组件的碰撞监听默认是关闭的,因此要先开启
var manager = cc.director.getCollisionManager();
manager.enabled = true;
生命周期函数如下:
//当碰撞产生时调用
onCollisionEnter:function(other,self){}
//在碰撞产生后,在碰撞结束前,每次计算完碰撞结果后调用
onCollisionStay:function(other,self){}
//当碰撞结束后调用
onCollisionExit;function(other,self){}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。