2017-01-03 39 views
1

我有一個在iPad2(1024/768px)上運行正常的kha應用程序。在iPad上縮放視網膜的kha應用程序

當我在2048/1516的後期iPad Mini上運行相同的項目時。我的座標都是一半的大小,這是有道理的。

因此,當我將所有尺寸的對象和GFX加倍時,它將在iPad mini上運行,但對於iPad2而言會太大。

我看着一個後備緩衝和渲染目標的解釋在這裏: https://www.youtube.com/watch?v=OV1PTo5XSCA

也有在khafile的windowSize選項,這似乎什麼也不做。

表面x和y coodinates似乎總是進入設備的實際屏幕coodrdinates。

編寫獨立於分辨率的應用程序的最佳方式是什麼?

完美將是一種視網膜或非視網膜的方式,取決於設備,代碼保持不變。

+1

Scaler.scale()由Kha wiki推薦。查看http://jamiltron.com/2015/12/KhaShmup-Tutorial-Part-1 /舉一個簡單的例子 –

+0

我試過了,所以基本上編碼爲非視網膜分辨率然後放大了,但觸摸處理程序的x,y座標與它混淆了。非常pixela關於視網膜-ipad。如果我爲高分辨率編碼,那麼對於舊的非視網膜iPad我會有太多的gfx處理。 – RedRoosterMobile

回答

2

根據https://github.com/Kode/Kha/wiki/Screen-Size-and-Scaling可以自動縮放某些目標。如果您需要其他目標,則必須手動縮放一切以適應屏幕。

頁提到使用這個類的任務:https://github.com/Kode/Kha/blob/master/Sources/kha/Scaler.hx

你也可以看看Wyngine它是如何做: https://github.com/laxa88/wyngine/search?utf8=%E2%9C%93&q=scale & https://github.com/laxa88/wyngine/blob/master/Wyngine.hx

你說(我的意見),該比例WASN」夠了。到目前爲止,我的所有遊戲都具有正確的顯示設置,但如果您確實需要視網膜大小的圖形,則您始終可以選擇使用多個圖形集。例如:

  • 視網膜resultion(例如iPad 3的)
  • 默認分辨率(如iPad 2的)設置爲半視網膜大小一組
  • 一個低分辨率的廉價Android設備設置?

在您的應用程序啓動時,您檢查屏幕大小。您可以使用它來選擇最適合實際屏幕分辨率的內部遊戲大小和圖形集。內部遊戲大小以及所選圖形集的所有X/Y位置可以通過將圖形集縮放因子應用於原始基本值來計算。

最後你可以使用Scale.scale()從內部遊戲規模的增加你的遊戲,以適應iPad等親12" 設備和各種Android設備。

這種做法是很常見的很多遊戲引擎,谷歌應該找到像https://v-play.net/doc/vplay-different-screen-sizes/這樣的鏈接,也可以解釋屏幕比例以及如何處理這些鏈接。

相關問題