2015-09-29 30 views
1

任何想法,爲什麼這不產生一個光滑的圓?圓有邊緣,而不是平滑使用libgdx

public void draw(ShapeRenderer sRenderer) { 

    sRenderer.begin(ShapeType.Filled); 
    sRenderer.setColor(1.0f, 0.0f, 0.0f, 0.0f); 
    sRenderer.identity(); 
    sRenderer.translate(1.0f, 1.0f, 0); 
    sRenderer.rotate(0.0f, 0.0f, 1.0f, (float) Math.toDegrees(getBody().getAngle())); 
    sRenderer.circle(0.0f, 0.0f, 1.0f); 
    sRenderer.end(); 
} 

screenshot

回答

1

圓()採用用於手動設置的段數的另一個理由。您已將其設置爲估計值,並且因爲它以像素爲單位而不是世界單位,所以它假設半徑爲1像素的圓。

public void draw(ShapeRenderer sRenderer) { 

    sRenderer.begin(ShapeType.Filled); 
    sRenderer.setColor(1.0f, 0.0f, 0.0f, 0.0f); 
    sRenderer.identity(); 
    sRenderer.translate(1.0f, 1.0f, 0); 
    sRenderer.rotate(0.0f, 0.0f, 1.0f, (float) Math.toDegrees(getBody().getAngle())); 
    sRenderer.circle(0.0f, 0.0f, 1.0f, 100); 
    sRenderer.end(); 
} 

這應該讓你在某個地方,100只是一個我投入的數字,調整它到你的需求。