2015-09-19 134 views
17

一切都進行得這麼好,直到我升級到7的Xcode和iOS 9 ....iOS9雪碧套件發出

我現在的項目是一個2D平臺遊戲,自從升級我已經愛上了精靈的家禽套件錯誤/我們很多人似乎都面臨的錯誤。

我的問題是,每次遊戲在模擬器或設備上運行時,所有精靈都會隨機出現在zPosition位置。我一直在堆棧尋找一個沒有運氣的答案,到目前爲止我已經嘗試過。

  • 移動所有圖像.xcassets Like described here
  • 生成設置下更改iOS開發目標到iOS 9.0
  • 代碼更改所有圖像,包括其擴展名即 「background.png」

我仍然有相同的問題,圖像層本身顯然是隨機的,任何人都可以推薦修補程序或我可能錯過的一些其他可能的解決方案?

謝謝。

+1

只是好奇,你使用ignoresSiblingsOrder = true,並且你明確地爲你的節點設置了所有的zPositions? – Whirlwind

+4

我也有很多Sprite Kit和XCode 7的問題。更改了zPositions,動畫運行速度過快,並更改了觸摸檢測。隱藏的精靈節點觸摸不再被檢測到。將alpha設置爲0.0也不起作用。您必須將其設置爲0.001之類的值才能再次使用。 –

+0

我遇到與圖像消失相同的問題。另外,通過不暫停傳出場景,我實現了很好的視差場景轉換。這現在似乎也破了;在場景轉換期間,傳入和傳出場景都會暫停。 – empee

回答

8

由於@ tobias-lott在他的評論中提到,我必須向每個Sprite都包含zPosition,而不是讓代碼排列子圖。

-3

最適合你的方式是下載Xcode 7並重建你的應用程序並處理構建問題。

隨着iOS 9的推出一些不推薦使用的API從iOS 9中移除,導致應用程序崩潰。

我想在你身邊也是這樣。

你可以找到所有在這裏的最新變化:https://developer.apple.com/library/ios/releasenotes/General/iOS90APIDiffs/index.html

構建你的應用程序在Xcode 7快捷2.0。

+4

「用swift 2.0構建你的應用程序」......好吧,想象你製作了一個非常棒的遊戲,其中包含很多功能。目標C中的所有內容仍然非常有效並得到Apple的支持。爲了讓它在iOS 9上運行,必須將每一段代碼重寫到Swift,這似乎並不是我最好的解決方案。 – empee

15

iOS 9 GM中的SpriteKit非常破碎。我不知道他們在蘋果公司做了什麼,但應該解僱幾個人。看看這裏的所有投訴:https://forums.developer.apple.com

我的問題,一個是,當我通過imageNamed初始化函數加載SKSpriteNode時,有時會出現精靈,有時他們不會。我正在使用特定於設備的圖像,並且有時同一行代碼會加載[email protected]~ipad.png,因爲它是我的特定於設備的圖像,有時它會加載Rock.png,因此我將不會顯示該圖像沒有包含通用圖像。

我已經向蘋果報告了這個bug,他們還沒有修復它。他們要求我提供測試場景,我已經用不同的方式解釋了他們3次,我在這裏解釋不多。

我現在所能做的就是告訴你儘快向蘋果公司報告這些錯誤,並且交叉你的手指,聰明的人會閱讀你的錯誤報告,並用它做一些事情。

+4

我遇到了這個問題,我通過將zPosition = -1添加到第一個背景層並在每個其他SPRITE上再次使用zPosition來修復它,以解決正確的精靈順序問題,真的很煩但解決了問題。希望這可以幫助。 –

+1

這是驚人的破碎。老實說,我不知道如何以這種方式發佈。 –

+0

我通過手動加載地圖集的紋理來修復此問題。 –

5

我有隨機zPositions相同的問題,然後我注意到以下GameViewController。SWIFT

/* Sprite Kit applies additional optimizations to improve rendering performance */ 
skView.ignoresSiblingOrder = true 

更改ignoresSiblingOrder解決了這一問題對我來說。

+1

將ignoresSiblingOrder更改爲false也爲我解決了這個問題。 – spacecash21