第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

(libgdx) 為什么我的精靈渲染得這么大?

(libgdx) 為什么我的精靈渲染得這么大?

qq_遁去的一_1 2023-10-13 16:25:49
我目前正在嘗試學(xué)習(xí) java 的 LibGDX 游戲引擎。我使用的是平鋪地圖,每個平鋪為 32*32 像素。我還有一個尺寸為 48*64 的角色精靈。在我的游戲中,我將一個單位定義為地圖上的一個圖塊。由于某種原因,我的地圖渲染正確,但玩家精靈渲染得異常大,而不是大約 2 平方單位的預(yù)期大小。我嘗試過在線搜索類似的問題,但找不到與我的問題類似的內(nèi)容。我知道這與我正在使用的縮放有關(guān),但我不知道解決它的好方法。當(dāng)然,一種方法是在使用batch.draw()函數(shù)繪制時簡單地縮小玩家精靈,但我覺得這不是必要的。@Override 公共無效創(chuàng)建(){    world = new World(new Vector2(0, -20), true); //Create Box2d world    debugRenderer = new Box2DDebugRenderer();    player1 = new Player();    camera = new OrthographicCamera(WORLD_WIDTH, WORLD_HEIGHT); //Create the camera I'm using, with width = height = 20    map = new TmxMapLoader().load("maps/Maptest.tmx"); //Load a map created in Tiled    this.mapObjects = map.getLayers().get(0).getObjects();    ObjectMapper.createShapes(this.mapObjects, this.world); //Load shapes from map for collision management    ObjectMapper.setSpawn(player1, mapObjects, world); //Set spawnpoint from object in the Tiled map    batch = new SpriteBatch();    renderer = new OrthogonalTiledMapRenderer(map, 1/PPT); //Create a tiled map renderer with unit scale 1/32    camera.update();}@Overridepublic void render () {    player1.update(); //Update player position    camera.position.set(player1.getX(), player1.getY(), 0); //Set position to players position    camera.update();}我希望精靈的大小與玩家碰撞盒(圓形)的大小大致相同,其半徑為一個單位。相反,它變得非常大:https://i.gyazo.com/6d814d10cd5f9bec322b601d538cb9ee.png完整的精靈看起來像這樣:https://i.gyazo.com/03178769d4a3b4beaba1612c76d37386.png提前致謝:)
查看完整描述

1 回答

?
回首憶惘然

TA貢獻1847條經(jīng)驗 獲得超11個贊

我會完全避免使用 Sprite 類。在 LibGDX 中,它被創(chuàng)建為高度優(yōu)化的東西,但它將資產(chǎn)(TextureRegion)與游戲模型對象(位置和大小等)混為一談,并且違反了組合繼承準則。它還在 StackOverflow 上引起了許多問題,因為人們沒有意識到它繼承自 TextureRegion,但并不意味著通過將其傳遞給 SpriteBatch 來繪制(它并不意味著被當(dāng)作一個 TextureRegion)。要正確繪制它,您應(yīng)該調(diào)用sprite.draw(batch),而不是batch.draw(sprite, ...)

您已經(jīng)有一個 Player 類。它應(yīng)該只引用TextureRegion而不是Sprite。您可以為您的 Player 類指定大小和位置(您實際想要的大小)。


查看完整回答
反對 回復(fù) 2023-10-13
  • 1 回答
  • 0 關(guān)注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號