示例#1
0
  public void render(Renderer renderer) {
    Stroke stroke = new BasicStroke(2);
    renderer.setStroke(stroke);
    renderer.rotate(getX(), getY(), -getAngle());

    renderer.drawCircle(getX(), getY(), NECK_RADIUS, getColor());

    mouth.render(
        renderer, getX(), getY() + PIXEL_BUFFER + NECK_RADIUS + MOUTH_HEIGHT / 2, getColor());
    //		renderer.drawArc(getX(), getY() + PIXEL_BUFFER + NECK_RADIUS
    //				+ MOUTH_HEIGHT / 2, MOUTH_WIDTH, MOUTH_HEIGHT, 0, 90,
    //				getColor());
    //
    //		renderer.drawArc(getX(), getY() + PIXEL_BUFFER + NECK_RADIUS
    //				+ MOUTH_HEIGHT / 2, MOUTH_WIDTH, MOUTH_HEIGHT, 180, -90,
    //				getColor());

    renderer.rotate(getX(), getY(), getAngle());

    renderer.rotate(
        getXFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE),
        getYFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE),
        -getAngle());

    renderer.fillRect(
        getXFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE),
        getYFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE),
        TAIL_RADIUS * 2,
        TAIL_RADIUS * 2,
        getColor());

    renderer.rotate(
        getXFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE),
        getYFromCenterToRear(NECK_RADIUS + TAIL_DISTANCE),
        getAngle());

    for (int x = 0; x < getBodyParts().size(); x++) getBodyParts().get(x).render(renderer);
  }