基于3.6.1的2D项目使用 已经设置 物理选项 基于box 重力 设置 Y= -10
对应2d组件 sprite 进行 box2d rig2d 添加后运行启动也没有任何反应
在onLode()添加监听 会没有任何反应
rig2d 中已经开启了监听选项,box也已经设置了碰撞范围
phy2dsys也已经设置为true:
PhysicsSystem2D.instance.enable=true;
onLoad():void
{
PhysicsSystem2D.instance.enable=true;
this.box = this.node.getComponent(BoxCollider2D);
this.box.on(Contact2DType.BEGIN_CONTACT,this.onBeginContact,this);
this.box.on(Contact2DType.END_CONTACT,this.onEndContact,this);
this.box.on(Contact2DType.POST_SOLVE,this.onPreSolve,this);
this.box.on(Contact2DType.PRE_SOLVE,this.onPostSolve,this);
}
onBeginContact (selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact | null) {
// 只在两个碰撞体开始接触时被调用一次
console.log(‘onBeginContact’);
}
没有任何反应。。。。求解??是版本bug吗???
不说bug吧,creator3.x的2d物理使用起来真是一言难尽。
所有碰撞器都必须加2D刚体(Rigibody2D)组件,否则监听不到碰撞消息。
而Unity的2d物理,只需监听消息的物体添加刚体就行了,其它的物体不一定要添加,使用起来更方便
1赞
我用低版本的就没啥问题- -3.6.1 真有问题
