溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Libgdx中不同分辨率圖片替換的解決方案

發(fā)布時間:2020-07-31 16:51:08 來源:網(wǎng)絡 閱讀:839 作者:passover 欄目:移動開發(fā)

    最近做產(chǎn)品開發(fā),考慮到以后會在pad和手機平臺發(fā)布,所以圖片要用到不同的尺寸,比如做HD版本。但是如果在程序中直接替換圖片而不影響到功能呢?

    Libgdx的相關資料找了很久,發(fā)現(xiàn)已經(jīng)有針對IOS系統(tǒng)Retina的解決方案,只需要在配置文件中填寫縮放比例即可,正式我們想要的。但是仔細看了一下,應該是第三方IOS類庫實現(xiàn)的功能,那在Android下如何解決呢?

    解決這個問題首要保證的就是Stage的尺寸是不能變的,因為程序中大量用到坐標參數(shù),一旦改變就會引發(fā)很多關聯(lián)問題。經(jīng)過初步研究,我發(fā)現(xiàn)本地圖片如果放大一倍,其實只是每個Texture占了更大的面積,如果能把圖片顯示時再縮小一倍就能解決問題。當屏幕尺寸是2倍的情況,那圖片就相當于沒有縮小,也就是我們預期的效果。我們的系統(tǒng)中基本上所有圖片都是利用TextureRegion的封裝,并沒有直接去draw texture/sprite的方式,所以這縮小的工作就定在TextureRegion里面去實現(xiàn)。仔細分析了源代碼,我發(fā)現(xiàn)直接在getRegionWidth和getRegionHeight上做文章即可,這里修改源碼讓應有的圖片寬度進行相應比例的縮小,這樣最終顯示就能達到放大的本地圖片按正確比例顯示。

    只是在圖片顯示上做縮放調(diào)整,應該對功能影響比較小,這個方案初步測試通過,實際使用還有待繼續(xù)考證。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI