【问题标题】:Expanding circle with fixed outline width具有固定轮廓宽度的扩展圆
【发布时间】:2014-09-12 03:45:03
【问题描述】:

我想要的效果就像水滴上的雨滴,波浪从中心点向外辐射。

我创建了一个圆形:

    let initialRadius = 4.0
    let myPath: CGMutablePathRef = CGPathCreateMutable()
    CGPathAddArc(myPath, nil, 0, 0, initialRadius, 0, M_PI * 2, true)

    let myCircle = SKShapeNode()
    myCircle.path = myPath
    myCircle.position = CGPoint(x: xPos, y: yPos)
    myCircle.lineWidth = 0.5
    myCircle.antialiased = false
    myCircle.fillColor = SKColor.orangeColor() // background is orange
    myCircle.strokeColor = SKColor.whiteColor()
    myCircle.physicsBody = SKPhysicsBody(edgeLoopFromPath: myPath)

然后我让精灵展开,然后淡出:

    let duration: NSTimeInterval = 1.7
    let fade = SKAction.fadeOutWithDuration(duration)
    let scale = SKAction.scaleTo(9.0, duration: duration)
    fade.timingMode = .EaseOut
    scale.timingMode = .EaseOut
    myCircle.runAction(fade)
    myCircle.runAction(scale)

这很接近,但是当圆圈的大小正确扩大时,lineWidth 也在扩大。你能想出一种方法来做到这一点,同时保持线宽不变吗?

【问题讨论】:

  • myCircle.lineWidth = 0.5 / 9.0 添加到您的缩放操作中?
  • 有趣,@GradyPlayer。如何在不踩 SKAction.scaleTo 的情况下缩放 lineWidth(在 SKAction 中)?
  • 我真的不知道 sprite kit,在核心动画中你可以编辑视图的属性然后执行动画,但是 sprite kit 可能完全不同。

标签: ios swift sprite-kit skaction skshapenode


【解决方案1】:

您可以使用customActionWithDuration 以增加半径(和恒定线宽)重新绘制路径,而不是使用scale。比如:

    // ... All as before, except...    
    // myCircle.runAction(scale)
    typealias ActionBlock = ((SKNode!, CGFloat) -> Void)
    let ab: ActionBlock = { (node, value) in
        if let drop = node as? SKShapeNode {
            let myPath: CGMutablePathRef = CGPathCreateMutable()
            CGPathAddArc(myPath, nil, 0, 0, initialRadius * (1.0 + value * 9.0 / duration) , 0, M_PI * 2, true)
            drop.path = myPath
        }
    }

    let newScale = SKAction.customActionWithDuration(duration, actionBlock: ab)
    myCircle.runAction(newScale)

【讨论】:

    猜你喜欢
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 2022-11-24
    • 2016-12-10
    相关资源
    最近更新 更多