当前位置: 首页>>代码示例>>Java>>正文


Java ShapeType.POLYGON属性代码示例

本文整理汇总了Java中org.jbox2d.collision.shapes.ShapeType.POLYGON属性的典型用法代码示例。如果您正苦于以下问题:Java ShapeType.POLYGON属性的具体用法?Java ShapeType.POLYGON怎么用?Java ShapeType.POLYGON使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.jbox2d.collision.shapes.ShapeType的用法示例。


在下文中一共展示了ShapeType.POLYGON属性的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: render

private static void render() {
    renderingContext2D.clear();
    renderingContext2D.save();
    renderingContext2D.translate(0, 600);
    renderingContext2D.scale(1, -1);
    renderingContext2D.scale(100, 100);
    renderingContext2D.lineWidth(0.01f);
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        renderingContext2D.save();
        renderingContext2D.translate(center.x, center.y);
        renderingContext2D.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                renderingContext2D.beginPath();
                renderingContext2D.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                renderingContext2D.closePath();
                renderingContext2D.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                renderingContext2D.beginPath();
                renderingContext2D.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    renderingContext2D.lineTo(vertices[i].x, vertices[i].y);
                }
                renderingContext2D.closePath();
                renderingContext2D.stroke();
            }
        }
        renderingContext2D.restore();
    }
    renderingContext2D.restore();
}
 
开发者ID:mirkosertic,项目名称:Bytecoder,代码行数:36,代码来源:JBox2DSimulation.java

示例2: setShape

/**
 * Any Shape given as a brush. Use (0,0) as center.
 * only ShapeType.CIRCLE and ShapeType.POLYGON can be used
 * 
 */
public void setShape(Shape shape){
  boolean is_circle  = ShapeType.CIRCLE  == shape.getType();
  boolean is_polygon = ShapeType.POLYGON == shape.getType();
  
  if(is_circle || is_polygon){
    this.shape = shape;
  }
}
 
开发者ID:diwi,项目名称:LiquidFunProcessing,代码行数:13,代码来源:DwParticleDestroyer.java

示例3: setShape

/**
 * Any Shape given as a brush. Use (0,0) as center.
 * only ShapeType.CIRCLE and ShapeType.POLYGON can be used
 * 
 */
public void setShape(Shape shape){
  boolean is_circle  = ShapeType.CIRCLE  == shape.getType();
  boolean is_polygon = ShapeType.POLYGON == shape.getType();
  
  if(is_circle || is_polygon){
    group_def.shape = shape;
  }
}
 
开发者ID:diwi,项目名称:LiquidFunProcessing,代码行数:13,代码来源:DwParticleSpawn.java

示例4: getType

/** Get the type of the child shape. You can use this to down cast to the concrete shape.
 * @return the shape type. */
public Type getType () {
	ShapeType type = fixture.getType();
	if (type == ShapeType.CIRCLE) return Type.Circle;
	if (type == ShapeType.EDGE) return Type.Edge;
	if (type == ShapeType.POLYGON) return Type.Polygon;
	if (type == ShapeType.CHAIN) return Type.Chain;
	return Type.Circle;
}
 
开发者ID:basherone,项目名称:libgdxcn,代码行数:10,代码来源:Fixture.java

示例5: getShape

/** Returns the shape of this fixture */
public Shape getShape () {
	if (shape == null) {
		org.jbox2d.collision.shapes.Shape shape2 = fixture.getShape();
		ShapeType type = shape2.getType();
		if (type == ShapeType.CHAIN) shape = new ChainShape((org.jbox2d.collision.shapes.ChainShape)shape2);
		if (type == ShapeType.CIRCLE) shape = new CircleShape((org.jbox2d.collision.shapes.CircleShape)shape2);
		if (type == ShapeType.EDGE) shape = new EdgeShape((org.jbox2d.collision.shapes.EdgeShape)shape2);
		if (type == ShapeType.POLYGON) shape = new PolygonShape((org.jbox2d.collision.shapes.PolygonShape)shape2);
	}
	return shape;
}
 
开发者ID:basherone,项目名称:libgdxcn,代码行数:12,代码来源:Fixture.java

示例6: render

private static void render() {
    WasmCanvas.save();
    setupCanvas();
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        WasmCanvas.save();
        WasmCanvas.translate(center.x, center.y);
        WasmCanvas.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                WasmCanvas.beginPath();
                WasmCanvas.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                WasmCanvas.closePath();
                WasmCanvas.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                WasmCanvas.beginPath();
                WasmCanvas.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    WasmCanvas.lineTo(vertices[i].x, vertices[i].y);
                }
                WasmCanvas.closePath();
                WasmCanvas.stroke();
            }
        }
        WasmCanvas.restore();
    }
    WasmCanvas.restore();
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:32,代码来源:WasmBenchmarkStarter.java

示例7: render

private static void render() {
    CanvasRenderingContext2D context = (CanvasRenderingContext2D) canvas.getContext("2d");
    context.setFillStyle("white");
    context.setStrokeStyle("grey");
    context.fillRect(0, 0, 600, 600);
    context.save();
    context.translate(0, 600);
    context.scale(1, -1);
    context.scale(100, 100);
    context.setLineWidth(0.01);
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        context.save();
        context.translate(center.x, center.y);
        context.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                context.beginPath();
                context.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                context.closePath();
                context.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                context.beginPath();
                context.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    context.lineTo(vertices[i].x, vertices[i].y);
                }
                context.closePath();
                context.stroke();
            }
        }
        context.restore();
    }
    context.restore();
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:39,代码来源:BenchmarkStarter.java

示例8: render

private static void render() {
    GraphicsContext2D context = HTML5Graphics.getOrCreate("benchmark-canvas");
    context.setFillStyle(new Style.Color("white"));
    context.setStrokeStyle(new Style.Color("grey"));
    context.fillRect(0, 0, 600, 600);
    context.save();
    context.translate(0, 600);
    context.scale(1, -1);
    context.scale(100, 100);
    context.setLineWidth(0.01);
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        context.save();
        context.translate(center.x, center.y);
        context.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                context.beginPath();
                context.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                context.closePath();
                context.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                context.beginPath();
                context.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    context.lineTo(vertices[i].x, vertices[i].y);
                }
                context.closePath();
                context.stroke();
            }
        }
        context.restore();
    }
    context.restore();
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:39,代码来源:BenchmarkStarter.java

示例9: render

private void render() {
    Context2d context = canvas.getContext2d();
    context.setFillStyle("white");
    context.setStrokeStyle("grey");
    context.fillRect(0, 0, 600, 600);
    context.save();
    context.translate(0, 600);
    context.scale(1, -1);
    context.scale(100, 100);
    context.setLineWidth(0.01);
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        context.save();
        context.translate(center.x, center.y);
        context.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                context.beginPath();
                context.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                context.closePath();
                context.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                context.beginPath();
                context.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    context.lineTo(vertices[i].x, vertices[i].y);
                }
                context.closePath();
                context.stroke();
            }
        }
        context.restore();
    }
    context.restore();
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:39,代码来源:BenchmarkStarter.java

示例10: paint

@Override
public void paint(Graphics g) {
    Graphics2D gfx = (Graphics2D) g;

    gfx.setBackground(Color.white);
    gfx.setPaint(Color.black);
    gfx.clearRect(0, 0, 600, 600);

    AffineTransform originalTransformation = gfx.getTransform();

    gfx.translate(0, 600);
    gfx.scale(1, -1);
    gfx.scale(100, 100);
    gfx.setStroke(new BasicStroke(0.01f));
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();

        AffineTransform bodyTransform = gfx.getTransform();
        gfx.translate(center.x, center.y);
        gfx.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                Arc2D arc = new Arc2D.Float(circle.m_p.x - circle.getRadius(),
                        circle.m_p.y - circle.getRadius(), circle.getRadius() * 2, circle.getRadius() * 2,
                        0, 360, Arc2D.CHORD);
                gfx.draw(arc);
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();

                Path2D path = new Path2D.Float(Path2D.WIND_EVEN_ODD);

                path.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    path.lineTo(vertices[i].x, vertices[i].y);
                }
                path.closePath();
                gfx.draw(path);
            }
        }
        gfx.setTransform(bodyTransform);
    }

    gfx.setTransform(originalTransformation);
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:47,代码来源:JvmBenchmarkStarter.java


注:本文中的org.jbox2d.collision.shapes.ShapeType.POLYGON属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。