【发布时间】:2017-03-02 14:20:08
【问题描述】:
我正在开发一款 2D iOS 游戏,并首次尝试在 xCode 中使用场景构建器。如果这是初步的,请原谅我。
我在场景中添加了一个 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))
【问题讨论】:
标签: swift xcode sprite-kit