[LayaAir 2.0][LayaAir 2.0] 如何用代码为Spirte添加2d物理特性

官方的2d物理引擎文档都是IDE篇的。
 
我试着用代码实现物理效果
class CollisionBoll extends Laya.Sprite {

private _boll1:Laya.Sprite;

constructor() {
super();

//物理模块
this._boll1 = new Laya.Sprite();
this.addChild(this._boll1);
this._boll1.x = 20;
this._boll1.loadImage('comp/btn_close.png');
let box:laya.physics.BoxCollider = this._boll1.addComponent(laya.physics.BoxCollider);
box.height = 60;
box.width = 28;
//添加刚体
this._boll1.addComponent(Laya.RigidBody);

//创建挡板
this.createPanel();
}

private createPanel():void {
let panel:Laya.Sprite = new Laya.Sprite();
panel.graphics.drawRect(0,100,100,20,0xffffff);
this.addChild(panel);

let box:laya.physics.BoxCollider = panel.addComponent(laya.physics.BoxCollider);
box.height = 20;
box.width = 100;

let rigid:Laya.RigidBody = panel.addComponent(Laya.RigidBody);
rigid.type = 'static';
}

产生的效果是boll1会自由落体,但不会与挡板发生物理碰撞而是直接穿过挡板(如图1),请问要如何修改代码。

QQ截图20190428112011.png

图1
 
已邀请:

bpmf_d

赞同来自:

ui页面 按F9  可以显示物理辅助线 这边儿看是因为你物理绘制的位置不对  修改一下就好

该问题目前已经被锁定, 无法添加新回复

商务合作
商务合作