• Revolute Joints(转动关节)


    选取任意两个刚体就可以创建一个转动关节,且一个刚体的质量要为0。

    要创建转动关节,需调用关节定义的Initialize方法:

    public function Initialize(b1:b2Body, b2:b2Body, anchor:b2Vec2) : void

    前两个参数表示要组成关节的刚体,第三个参数表示关节的节点位置。

    在刚体创建完成后即可以创建关节,此关节只需创建一次,不像鼠标关节(b2MouseJoint)在模拟过程中要不断设置目标,而此关节在执行模拟过程中无需处理。

    下面是核心代码:

    var revRect:Rect = new Rect(20, 200, new Point(300, 200), new Point(0, 0), new RectSprite(), _container);
    var revCircle:Ball = new Ball(10, new Point(300, 50), new Point(0, 0), new CircleSprite(), _container);
    var massData:b2MassData = new b2MassData();
    massData.mass = 0;
    revCircle.body.SetMass(massData);
    
    _revoluteJointDef.Initialize(revCircle.body, revRect.body, new b2Vec2(300/PhyOption.PHYSCALE,50/PhyOption.PHYSCALE));
    _revJoint = PhyOption.getInstance().world.CreateJoint(_revoluteJointDef) as b2RevoluteJoint;
    
    _container.graphics.clear();
    _container.graphics.lineStyle(2, 0xff0000);
    _container.graphics.moveTo(revCircle.displayObject.x, revCircle.displayObject.y);
    _container.graphics.lineTo(revRect.displayObject.x, revRect.displayObject.y-revRect.displayObject.height/2);

    例子:

  • 相关阅读:
    iOS使用第三方管理工具
    Mysql忘记密码怎么办
    支付宝支付流程
    关于iOS9 HTTP不能正常使用的解决方法
    ios项目开发汇总
    sqlite3
    Drupal 7.31版本爆严重SQL注入漏洞
    Google发布SSLv3漏洞简要分析报告
    Linux“Bash”漏洞大爆发
    Discuz 5.x/6.x/7.x投票SQL注入分析
  • 原文地址:https://www.cnblogs.com/ywxgod/p/ywxgod_2010_05_14_0_28.html
Copyright © 2020-2023  润新知