我正在開發2D iOS遊戲,並首次在xCode中使用Scene builder。所以請原諒我,如果這是最基本的。SpriteKit場景節點縮放說明
我已將SKColorNode添加到場景中,並且默認情況下會創建一個小方塊。所以我把這個方塊的大小調整爲屏幕中心的一個矩形,大約有80%的屏幕尺寸。通過這樣做,它將該節點的比例更改爲x:7.1,y:5.3。現在我已經添加了一些其他顏色節點作爲這個孩子,並將紋理應用到它們。
當這些節點是原始矩形的子節點時,它們的縮放比例爲x:0.14,y:.188。但是,如果我將它們移回到父場景,它們的比例爲x:1,y:1。做完數學後,我會得到他們是孩子時的數字 - (1/7.1 = 0.14) - 但爲什麼這樣做呢?
我需要的比例是1-1,所以當我想用SKAction.scaleTo()來動畫縮放比例變化時,我可以告訴它縮放比例增加一倍或50%,等等。如果沒有1-1的比例,我必須在創建動畫之前檢索並存儲這些項目的比例。
也許有人可以告訴我,如果我正在討論這個錯誤或它只是什麼?
編輯:這是我在做什麼作爲一種解決辦法...
let overlay: SKSpriteNode!
let male: SKSpriteNode!
let female: SKSpriteNode!
overlayScaleFactorX = 1/overlay.xScale
overlayScaleFactorY = 1/overlay.yScale
male.run(SKAction.scaleX(to: overlayScaleFactorX * 1.2,y: overlayScaleFactorY * 1.2, duration: 0.2))
female.run(SKAction.scaleX(to: overlayScaleFactorX * 0.8,y: overlayScaleFactorY * 0.8, duration: 0.2))
male.run(SKAction.scaleX(to: overlayScaleFactorX * 0.8,y: overlayScaleFactorY * 0.8, duration: 0.2))
female.run(SKAction.scaleX(to: overlayScaleFactorX * 1.2,y: overlayScaleFactorY * 1.2, duration: 0.2))
我想只能夠做
male.run(SKAction.scale(to: 1.2,duration: 0.1))
那麼這就像它得到的一樣荒謬,但確實有效。謝謝你的提示! – TheValyreanGroup
沒問題,很樂意幫忙。如果您發現這個有用的,請投票,或將其標記爲正確的答案。 –