我遇到了一些問題,試圖使我的SpriteKit遊戲在所有設備上兼容。我瞭解Image.xcassets的工作原理,以及如何在放置節點時引用電話框。縮放特定設備
例如,我的遊戲在6,6+和iPad上看起來不錯。不幸的是,它已經成爲早期iPhone手機的主要屏幕。一個簡單的辦法,這將僅僅是引用該屏幕的頂部像這樣:
node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMaxY(self.frame) - 5)
這適用於所有的手機,但不是ipad公司
但是如果我引用的頂部這樣的設備,那麼在iPad上,上層節點距離屏幕太遠,使得英雄無法與它們交互。
我的代碼是爲節點的定位書面只是通過使用其他節點的基礎上的頂部的電流方式:
node.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMinY(self.frame) + node2.size.height + node3.size.height)
這適用於6個,6 +和ipad公司
我怎樣才能讓所有設備兼容?我知道我可以調整「2x」圖像,以適應5和5秒,但是這會讓遊戲機制失效6(因爲6和5系列由於某種原因共享「2倍」)。
有沒有一種方法可以專門測試在某個設備上使用,然後在這種情況下運行某些代碼?有沒有解決方案?謝謝。
這看起來很有效,我試圖用幾種方法實現它。如果我沒有弄錯,三元運算符的功能與條件類似。如果是這樣,爲什麼我不斷要求申報聲明?我對這種方法的確切語法實現略有困惑。謝謝,我對編程非常陌生。 @Larcerax – TerranceW
不知道你可能做錯了什麼或對的,但下一個最好的選擇是嘗試這一點,一秒。 – Loxx
重讀我給你的答案,只是放下代碼看它的工作 – Loxx