2015-04-07 219 views
-1

我使用spritekit來製作iOS遊戲,並且遇到了我以前從未遇到的問題。我希望我的遊戲可以在多個設備上使用,因此我將根據屏幕大小動態調整所有尺寸,我使用UIScreen.mainScreen().bounds.size獲取屏幕尺寸,這是在線推薦的。獲取屏幕大小XCode

它返回的屏幕尺寸爲667x375。但是,當我將對象放置在高度的一半和寬度的一半時,期望在屏幕中間看到它時,它將顯示在左下角。

好奇,我從鼠標點擊打印觸摸位置,發現點擊右上角返回1024x764。

我從來沒有遇到過這個問題,這是我的第三個XCode項目。誰能幫我?

回答

1

UIScreen.mainScreen().bounds.size返回您的屏幕的大小

Sprite Kit使用與UIView不同的座標系。場景的左下角是(0, 0)。這些值隨着向上和向右移動而增加,因此右上角會爲您提供最大值。

根據scaleMode屬性縮放場景內容以適合視圖。我建議你重新閱讀Building Your Scene documentation

+0

好的,謝謝。只是爲了澄清未來的讀者,因爲我發現這個解釋令人困惑,這裏是我發現的: Aaron正確地指出問題是由座標系統的變化引起的。扔我的東西是我從未改變場景的座標系。 進一步挖掘發現,只有當模擬器設置爲iPhone 6設置時纔會出現此問題。 由於某些原因,在iPhone 6模擬器設置中,場景使用與屏幕不同的大小進行初始化。我不知道爲什麼會出現這種情況,但知道這是事實,我可以解決它。 – fiicere