亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試繪制填充視口的圓形網格,但網格從中心開始

嘗試繪制填充視口的圓形網格,但網格從中心開始

jeck貓 2023-07-19 10:04:18
我使用 ShapeRenderer 在特定的 X,Y 坐標處繪制圓圈,從 0,0 開始,填充到 50,50,之間有間隙。我在這里遺漏了一些明顯的東西嗎?我創建了一個像這樣的點數組:[[0,0],[0,2]...[50,48],[50,50]]這是相關代碼:public void create() {        camera = new OrthographicCamera();        viewport = new FitViewport(100, 100, camera);        renderer = new ShapeRenderer();        grid = new PointGrid(50, 50);    }public void render() {        Gdx.gl.glClearColor(0,0,0,0);        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);        renderer.begin(ShapeRenderer.ShapeType.Filled);        renderer.setProjectionMatrix(camera.combined);        renderer.setColor(Color.WHITE);        for (int i = 0; i < grid.getPoints().size; i++) {            Vector2 point = grid.getPoints().get(i);            renderer.circle(point.x, point.y, 1, 32);        }        renderer.end();        camera.update();    }
查看完整描述

2 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

當您使用視口來管理相機時,您需要調用viewport.update(...)調整大小方法。

public void resize (int width, int height) {
    viewport.update(width, height, true);
}

傳遞true到 update 方法會將 0,0 放在屏幕的左下角而不是中心。

如果您希望圓之間有間隙,則需要更小的半徑或更大的步長?,F在,它們之間有 2 個單位的步長,并且它們的直徑為 2 個單位,因此它們彼此接觸。



查看完整回答
反對 回復 2023-07-19
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

很確定相機默認看著 0,0,這意味著它將把 0,0 放在中心。所以你想將相機的位置設置為 - SCREEN_WIDTH / 2, - SCREEN_HEIGHT / 2

您可以使用 Gdx.graphics.getWidth() / getHeight() 獲取屏幕尺寸


查看完整回答
反對 回復 2023-07-19
  • 2 回答
  • 0 關注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號