Egret社区
本帖最后由 ywx620 于 2017-11-30 10:52 编辑

之前想用大神拉登6666的p2DebugDraw类来写点测试用例
结果发现用不了,最后测试跟踪进去发现我在外面画一个100*100像素的小方块。
可是在p2DebugDraw里面放大了好多倍,方块大小变成好几千像素。然后就没有深究进去了。
于是自己写了个P2World类,在里面创建刚体和皮肤都集成在一个类里面。Main主类只是用来点击加载刚体用。
另外有哪个朋友有深入研究过拉登6666的p2DebugDraw,也请帮忙分析一下哈

来看一下效果图
QQ图片20171130101629.png

演示地址
http://ywx620.com/egret/P2Demo/
手机可扫码演示
下载.png

在Main类中初始化P2Demo
        var p2World=new P2World();
        p2World.createBg(0X00FFFF,this.stage);//创建背景
//创建左下向平面用来阻止刚体跑出屏幕
        p2World.createPlane(Math.PI,0,this.stage.stageHeight);
        p2World.createPlane(-Math.PI/2,0,0);
        p2World.createPlane(Math.PI/2,this.stage.stageWidth,0);
单击后创建刚体
[AppleScript] 纯文本查看 复制代码
private onClick(e:egret.TouchEvent):void
    {
        this.p2World.index++;
        var index=this.p2World.index;
        var random:number=Math.random();
        var radius:number=30+20*random;
        var body:p2.Body;
        var skin:egret.Sprite;
        if(random<0.3){//圆形
            body=this.p2World.createCircleBodyShape(radius,index);
            skin=this.p2World.drawCircle(radius,body);
        }else if(random<0.6){//正方形
            body=this.p2World.createBoxBodyShape(radius,radius,index);
            skin=this.p2World.drawBox(radius,radius,body);
        }else {//长方形
            var height:number=radius*2;
            body=this.p2World.createBoxBodyShape(radius,height,index);
            skin=this.p2World.drawBox(radius,height,body);
        }
        body.position=[e.stageX,e.stageY];
        skin.x=e.stageX;
        skin.y=e.stageY;
    }



源码下载地址
游客,如果您要查看本帖隐藏内容请回复




分享到 :
7 人收藏

185 个回复

倒序浏览
yung  初窥堂奥 | 2017-11-30 11:11:08
yung  初窥堂奥 | 2017-11-30 11:11:09
yung  初窥堂奥 | 2017-11-30 11:11:10
liu_game  登堂入室 | 2017-11-30 11:11:17
666
wangwen  登堂入室 | 2017-11-30 11:35:33
厉害厉害
158379687  登堂入室 | 2017-11-30 13:44:25
xiongjian  圆转纯熟 | 2017-11-30 14:57:09
不错看看
parker  初学乍练 | 2017-11-30 15:24:53
aaaaaaaaaaaaa
parker  初学乍练 | 2017-11-30 15:25:10
aaaaaaaaaaaaaafdsafdsa
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2016 Comsenz Inc.

返回顶部