本文整理汇总了Java中org.jbox2d.dynamics.joints.PulleyJoint类的典型用法代码示例。如果您正苦于以下问题:Java PulleyJoint类的具体用法?Java PulleyJoint怎么用?Java PulleyJoint使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
PulleyJoint类属于org.jbox2d.dynamics.joints包,在下文中一共展示了PulleyJoint类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: drawJoint
import org.jbox2d.dynamics.joints.PulleyJoint; //导入依赖的package包/类
private void drawJoint(Joint joint) {
Body bodyA = joint.getBodyA();
Body bodyB = joint.getBodyB();
Transform xf1 = bodyA.getTransform();
Transform xf2 = bodyB.getTransform();
Vec2 x1 = xf1.p;
Vec2 x2 = xf2.p;
Vec2 p1 = pool.popVec2();
Vec2 p2 = pool.popVec2();
joint.getAnchorA(p1);
joint.getAnchorB(p2);
color.set(0.5f, 0.8f, 0.8f);
switch (joint.getType()) {
// TODO djm write after writing joints
case DISTANCE:
m_debugDraw.drawSegment(p1, p2, color);
break;
case PULLEY: {
PulleyJoint pulley = (PulleyJoint) joint;
Vec2 s1 = pulley.getGroundAnchorA();
Vec2 s2 = pulley.getGroundAnchorB();
m_debugDraw.drawSegment(s1, p1, color);
m_debugDraw.drawSegment(s2, p2, color);
m_debugDraw.drawSegment(s1, s2, color);
}
break;
case CONSTANT_VOLUME:
case MOUSE:
// don't draw this
break;
default:
m_debugDraw.drawSegment(x1, p1, color);
m_debugDraw.drawSegment(p1, p2, color);
m_debugDraw.drawSegment(x2, p2, color);
}
pool.pushVec2(2);
}
示例2: updateJoints
import org.jbox2d.dynamics.joints.PulleyJoint; //导入依赖的package包/类
public void updateJoints(){
Vec2 ancA = new Vec2();
Vec2 ancB = new Vec2();
for (Joint joint = super.getJointList(); joint != null; joint = joint.getNext()) {
DwJoint dwjoint = getShape(joint);
if(dwjoint != null){
PShape shape = dwjoint.shape;
JointType type = joint.getType();
joint.getAnchorA(ancA);
joint.getAnchorB(ancB);
// Body bodyA = joint.getBodyA();
// Body bodyB = joint.getBodyB();
// Transform xfA = bodyA.getTransform();
// Transform xfB = bodyB.getTransform();
// Vec2 posA = xfA.p;
// Vec2 posB = xfB.p;
if(type == JointType.PULLEY){
PulleyJoint pulley = (PulleyJoint) joint;
Vec2 gancA = pulley.getGroundAnchorA();
Vec2 gancB = pulley.getGroundAnchorB();
updateLineShape(shape.getChild(0), ancA, gancA);
updateLineShape(shape.getChild(1), ancB, gancB);
updateLineShape(shape.getChild(2), gancA, gancB);
} else {
updateLineShape(shape, ancA, ancB);
}
}
}
}
示例3: drawJoint
import org.jbox2d.dynamics.joints.PulleyJoint; //导入依赖的package包/类
private void drawJoint(Joint joint) {
Body bodyA = joint.getBodyA();
Body bodyB = joint.getBodyB();
Transform xf1 = bodyA.getTransform();
Transform xf2 = bodyB.getTransform();
Vec2 x1 = xf1.position;
Vec2 x2 = xf2.position;
Vec2 p1 = pool.popVec2();
Vec2 p2 = pool.popVec2();
joint.getAnchorA(p1);
joint.getAnchorB(p2);
color.set(0.5f, 0.8f, 0.8f);
switch (joint.getType()) {
// TODO djm write after writing joints
case DISTANCE :
m_debugDraw.drawSegment(p1, p2, color);
break;
case PULLEY : {
PulleyJoint pulley = (PulleyJoint) joint;
Vec2 s1 = pulley.getGroundAnchorA();
Vec2 s2 = pulley.getGroundAnchorB();
m_debugDraw.drawSegment(s1, p1, color);
m_debugDraw.drawSegment(s2, p2, color);
m_debugDraw.drawSegment(s1, s2, color);
}
break;
case CONSTANT_VOLUME :
case MOUSE :
// don't draw this
break;
default :
m_debugDraw.drawSegment(x1, p1, color);
m_debugDraw.drawSegment(p1, p2, color);
m_debugDraw.drawSegment(x2, p2, color);
}
pool.pushVec2(2);
}
示例4: drawJoint
import org.jbox2d.dynamics.joints.PulleyJoint; //导入依赖的package包/类
private void drawJoint(Joint joint) {
Body bodyA = joint.getBodyA();
Body bodyB = joint.getBodyB();
Transform xf1 = bodyA.getTransform();
Transform xf2 = bodyB.getTransform();
Vector2 x1 = xf1.p;
Vector2 x2 = xf2.p;
Vector2 p1 = pool.popVec2();
Vector2 p2 = pool.popVec2();
joint.getAnchorA(p1);
joint.getAnchorB(p2);
color.set(0.5f, 0.8f, 0.8f);
switch (joint.getType()) {
// TODO djm write after writing joints
case DISTANCE:
m_debugDraw.drawSegment(p1, p2, color);
break;
case PULLEY: {
PulleyJoint pulley = (PulleyJoint) joint;
Vector2 s1 = pulley.getGroundAnchorA();
Vector2 s2 = pulley.getGroundAnchorB();
m_debugDraw.drawSegment(s1, p1, color);
m_debugDraw.drawSegment(s2, p2, color);
m_debugDraw.drawSegment(s1, s2, color);
}
break;
case CONSTANT_VOLUME:
case MOUSE:
// don't draw this
break;
default:
m_debugDraw.drawSegment(x1, p1, color);
m_debugDraw.drawSegment(p1, p2, color);
m_debugDraw.drawSegment(x2, p2, color);
}
pool.pushVec2(2);
}
示例5: processJoint
import org.jbox2d.dynamics.joints.PulleyJoint; //导入依赖的package包/类
@Override
public void processJoint(Joint joint, Long tag) {
if (tag == JOINT_TAG) {
m_joint1 = (PulleyJoint) joint;
} else {
super.processJoint(joint, tag);
}
}
示例6: display
import org.jbox2d.dynamics.joints.PulleyJoint; //导入依赖的package包/类
static public void display(PGraphics pg, Joint joint){
Body bodyA = joint.getBodyA();
Body bodyB = joint.getBodyB();
Transform xfA = bodyA.getTransform();
Transform xfB = bodyB.getTransform();
Vec2 posA = xfA.p;
Vec2 posB = xfB.p;
Vec2 ancA = new Vec2();
Vec2 ancB = new Vec2();
joint.getAnchorA(ancA);
joint.getAnchorB(ancB);
JointType type = joint.getType();
switch (type) {
case DISTANCE:
line(pg, ancA, ancB);
break;
case PULLEY:
PulleyJoint pulley = (PulleyJoint) joint;
Vec2 gancA = pulley.getGroundAnchorA();
Vec2 gancB = pulley.getGroundAnchorB();
line(pg, gancA, ancA);
line(pg, gancB, ancB);
line(pg, gancA, gancB);
break;
case CONSTANT_VOLUME:
line(pg, ancA, ancB);
break;
case MOUSE:
line(pg, ancA, ancB);
break;
default:
line(pg, posA, ancA);
line(pg, ancA, ancB);
line(pg, posB, ancB);
}
}