所以今天我決定開始在El Capitan和iOS 9上測試我的遊戲。這是我在業餘時間工作了近2年的一個大型項目。所以我把我的代碼移植到Swift 2.0中,點擊運行按鈕,並祈禱Apple還沒有打破Sprite Kit(就像他們過去一樣:one,two,three,four),甚至沒有讓我開始形狀節點...)。所以我的遊戲啓動了,你知道些什麼 - 我的所有節點都是錯誤定位的,以及我的動畫紋理。其他一些小錯誤,例如抽籤計數沒有顯示出來,但這些小錯誤很小,希望它們也會被修復。Major Xcode 7 Sprite Kit地圖集Bug
所以我開始調試,最終我能夠發現大多數問題都與我的地圖集中的節點沒有正確定位有關。所以我只用一個節點創建了一個示例項目,如下所示。您可以在圖片中看到我將節點錨點設置爲(0,0)並將位置設置爲(0,0)。場景的定位點也是(0,0)。我打印出所有這些值以驗證它們是否正確。
你也可以看到它是在編輯器中正確繪製。然而,當我運行遊戲,我得到以下幾點:
你可以看到該節點錯誤地繪製。它的位置是(0,0),但它被繪製偏移。並且我的場景沒有縮放,它與視圖的大小相匹配,並設置在ResizeFill上。
我在El Capitan和iOS 9上都遇到了這個問題。有趣的是,圖像包含的透明像素越多,問題就越明顯。從編輯器屏幕截圖中可以看到,我的圖像包含許多透明像素,因爲我想清楚地顯示該錯誤。如果我使用透明度較低的像素,節點的偏移量會減少。
如果我不使用地圖集,那麼節點的繪製方式如下所示。不過,我顯然希望使用地圖集,以便批量渲染節點。
我已經提交的雷達這個bug。有沒有人找到解決這個問題的方法,不涉及不使用地圖集?