我正在開發(fā)一個 3d 游戲,其中光標(biāo)(十字準(zhǔn)線)位于屏幕中央,當(dāng)您移動鼠標(biāo)時,對象將根據(jù)鼠標(biāo)旋轉(zhuǎn)(就像在 fps 游戲中一樣)。我已經(jīng)用自己的十字準(zhǔn)線替換了默認(rèn)十字準(zhǔn)線,但我無法將其置于屏幕中央。我已經(jīng)使用以下方法確定了光標(biāo)放置的中間位置:cursorPosition=new Vector2((Gdx.graphics.getWidth()-cursorSize.x)/2,(Gdx.graphics.getHeight()-cursorSize.y)/2);然后我每次調(diào)用 render() 方法時都應(yīng)用這個位置:Gdx.input.setCursorPosition((int)cursorPosition.x,(int)cursorPosition.y);它不像我預(yù)期的那樣工作。如果我快速移動鼠標(biāo),光標(biāo)的位置仍然會移動,然后它會重置到屏幕中間。我也嘗試將光標(biāo)捕獲設(shè)置為true,但這只會使光標(biāo)不可見。 Gdx.input.setCursorCatched(true);我希望鼠標(biāo)光標(biāo)始終放在屏幕中間,然后根據(jù)鼠標(biāo)移動 3d 移動對象。
1 回答

慕娘9325324
TA貢獻1783條經(jīng)驗 獲得超4個贊
使用Gdx.input.setCursorCatched(true)但然后在鼠標(biāo)被抓住時將鼠標(biāo)十字準(zhǔn)線繪制到屏幕中心,并在您松開鼠標(biāo)時將其移除。
根據(jù)您設(shè)置游戲的方式,您的十字準(zhǔn)線應(yīng)該是您最后渲染的東西之一:
public void render() {
...
spriteBatch.render(cursor, Gdx.graphics.getWidth()-cursorSize.x)/2,(Gdx.graphics.getHeight()-cursorSize.y)/2);
spriteBatch.end();
}
添加回答
舉報
0/150
提交
取消