我正在試圖在SpriteKit
中製作拼圖遊戲。爲了讓事情變得更容易,我使用9x9方磚板。在每個瓷磚上有一張childNode
與它的一塊圖像。如何在SKSpriteNode中「中心」SKTexture
但這是開始我的問題。拼圖拼圖塊不是完美的正方形,並且當我將SKTexture
應用於節點時,它只是從anchorPoint = {0,0}
開始放置。結果並不漂亮,實際上它很可怕。 https://www.dropbox.com/s/2di30hk5evdd5fr/IMG_0086.jpg?dl=0
我設法修復這些瓷磚的右和頂「鉤」,但左側和底側不關心任何事情。
var sprite = SKSpriteNode()
let originSize = frame.size
let textureSize = texture.size()
sprite.size = originSize
sprite.texture = texture
sprite.size = texture.size()
let x = (textureSize.width - originSize.width)
let widthRate = x/textureSize.width
let y = (textureSize.height - originSize.height)
let heightRate = y/textureSize.height
sprite.anchorPoint = CGPoint(x: 0.5 - (widthRate * 0.5), y: 0.5 - (heightRate * 0.5))
sprite.position = CGPoint(x: frame.width * 0.5, y: frame.height * 0.5)
addChild(sprite)
你能給我一些建議嗎?
整件事都是關於如何在正確的位置設置拼圖。此刻,當我以拼圖形狀切割圖像時,將剪裁UIBezierPath框架的中心,然後將其設置爲SKSpriteNode位置。但是,無論如何謝謝你的回答,這對我後者會有幫助。 :) –