2016-05-25 24 views
0

我有這樣一個精靈:如何判斷zrotation後的精靈高度?

enter image description here

let sprite = SKSpriteNode(imageNamed: "sprite.png") 
print("sprite height: \(sprite.size.height)") //results to 150 

sprite.zRotation = 90 * degreesToRadians //turns sprite 90 Degrees 

結果這樣的:

enter image description here 但是:

print("sprite height: \(sprite.size.height)") //results to 150 

雪碧高度仍然是150,即使它需要遠更少的空間高度明智。

有沒有一種方法來獲取精靈之後的精靈的實際高度?我知道我可以在上面的例子中輕鬆解決這個問題,但是我的真正問題是我在各種各樣的旋轉中都有各種各樣的精靈,並且我試圖確保它們在屏幕上完全可見。因此基本上我有一個精靈(紅色條),一個定位點在0,0(藍點)和可見屏幕(黑色框架)。

enter image description here

我zrotate精靈使用arc4random_uniform隨機的角度,但一些精靈最終不是在屏幕上完全可見。基本上我必須知道綠色箭頭的height或在旋轉後將其指定爲anchorPoint。或者也許還有其他方法,我沒有想到。所有幫助讚賞!

enter image description here

+0

嘗試'sprite.frame.size.height' – 0x141E

+0

@ 0x141E然後,我怎樣才能將精靈定位在可視屏幕中? sprite.position仍然相對於「pre zrotation」狀態,所以即使我通過幀數計算其高度,精靈也會在屏幕上出現錯誤的位置。 – user594883

+0

@ 0x141E是否有可能例如重置定位點以便它反映0,0的「zrotated」點? – user594883

回答

0

0x141E的評論作品。

sprite.frame.size.height 

結果正確的結果。