zoukankan      html  css  js  c++  java
  • 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);

    例子:

  • 相关阅读:
    join
    PS1-4
    tftp + bras
    awk调用shell
    curl
    ssh
    查看cp进度,使用watch
    tftp
    scp 链接文件的问题 + tar
    mysql必知必会(三、使用mysql)
  • 原文地址:https://www.cnblogs.com/ywxgod/p/ywxgod_2010_05_14_0_28.html
Copyright © 2011-2022 走看看