2014-09-20 81 views
0

我正在使用beta Xcode在swite StriteKit中使用遊戲。但是現在在最終版本中,我發現了很多錯誤,除了這個之外,我都能夠修復這些錯誤。xCode 6最終版本中的編譯器錯誤

這是使用BETA XCODE NO錯誤我原來的代碼:

bird.zRotation = self.clamp(-1, max: 0.5, value: bird.physicsBody.velocity.dy *  (bird.physicsBody?.velocity.dy < 0 ?0.003 : 0.001)) 

但Xcode的最終發佈指示在physicsBody一個編譯器錯誤,指出: '?SKphysicsBody'沒有名爲velocity的成員。 我通過添加'?'來解決這個問題。可選類型爲physicsBody。

bird.zRotation = self.clamp(-1, max: 0.5, value: bird.physicsBody?.velocity.dy *  (bird.physicsBody?.velocity.dy < 0 ?0.003 : 0.001)) 

但stil新的錯誤出現在dy上,說明GGFloat沒有解開我嘗試使用'!'在dy或'?'之後編譯器在執行此操作後仍然建議刪除它,並指出Postfix'?'應該有可選的類型;類型是CGFloat。

我試圖找到關於究竟發生了什麼的信息,但我無法修復此錯誤。請幫忙。

回答

0

Xcode可能會因爲試圖對潛在的零值執行算術而變得困惑。我會嘗試從self.clamp呼叫中移出任選項。此外,請注意三元檢查周圍的間距:它可能試圖拆開與?操作員相鄰的值。

嘗試

if let dy = bird.physicsBody?.velocity.dy { 
    self.clamp(-1, max: 0.5, value: dy * ((dy < 0) ? 0.003 : 0.001) 
} 
+0

謝謝您的諮詢工作。仍試圖解決我原來的聲明,但沒有運氣。謝謝 – 2014-09-20 23:23:17