斯威夫特:变换 SKSpriteNode

Posted

技术标签:

【中文标题】斯威夫特:变换 SKSpriteNode【英文标题】:Swift : Transform SKSpriteNode 【发布时间】:2016-03-10 09:20:33 【问题描述】:

我正在尝试为 UIView 但为 SKSprite 节点实现此代码:

stopIcon.transform = CGAffineTransformMakeScale(0.01, 0.01)

UIView.animateWithDuration(0.5, animations:  () -> Void in
        self.stopIcon.transform = CGAffineTransformMakeScale(1.0, 1.0)
        )

我的 SKSprite 节点是这样设置的:

stopIcon = SKSpriteNode(imageNamed: "StopIcon")
    stopIcon?.size = CGSize(width: ((stopImage?.size.width)! * 0.75), height: ((stopImage?.size.height)! * 0.75))
    stopIcon?.position = CGPoint(x: self.size.width * 0.22, y: self.size.height * 0.91)
    self.addChild(stopIcon!)

谢谢大家。

【问题讨论】:

【参考方案1】:

我猜你想在 0.5 秒内缩放 SKSpriteNode,从 0.1 -> 1.0(原始比例的十分之一到满量程)。

使用 SpriteKit 的 SKAction 类可以这样实现:

//set the inital scale of node to 0.1
stopIcon.setScale(0.1)
//create action to scale skspritenode to scale of 1.0 over 0.5 seconds.
let scaleAction = SKAction.scaleTo(1.0, duration: 0.5)
//call on the action.
stopIcon.runAction(scaleAction)

【讨论】:

以上是关于斯威夫特:变换 SKSpriteNode的主要内容,如果未能解决你的问题,请参考以下文章

精灵包 |斯威夫特3 |将关卡编辑器中的 SKSpritenode 分配给 SKNode

射影变换仿射变换欧式变换相似变换等距变换

傅立叶变换和拉普拉斯变换的区别及应用。

【转】仿射变换及其变换矩阵的理解

图像处理之_仿射变换与透视变换

OpenCV图像变换(仿射变换与透视变换)