如何改变spriteNode的alpha值?
How to change the alpha value of spriteNode?
我正在像这样更改 spriteNode
的 alpha
值,
if (firstBody.node?.name)! == "Player" && secondBody.node?.name == "Alpha 1" {
var item: SKSpriteNode?
item = SKSpriteNode(imageNamed: "BG")
item!.alpha = 0.1
score += 1
scoreLabel?.text = String(score)
}
这是文档中所说的(使用 node.alpha = value
),但我不确定为什么它不起作用。
您可以使用 Action 淡化 alpha,我在下面留下了示例。
class GameScene: SKScene {
var player: SKSpriteNode!
override func didMove(to view: SKView) {
player = SKSpriteNode(color: .purple, size: CGSize(width: 100, height: 100))
player.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
self.addChild(player)
}
func fadePlayer() {
let fadeAlpha = SKAction.fadeAlpha(to: 0.1, duration: 1.0)
self.run(fadeAlpha)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
fadePlayer()
}
}
当触摸开始时,SpriteNode 将淡出到您插入的 alpha 值,它会在您插入的时间内逐渐淡出,此操作会在 1 秒内逐渐将 SpriteNode 的 alpha 淡出到 0.1。
我正在像这样更改 spriteNode
的 alpha
值,
if (firstBody.node?.name)! == "Player" && secondBody.node?.name == "Alpha 1" {
var item: SKSpriteNode?
item = SKSpriteNode(imageNamed: "BG")
item!.alpha = 0.1
score += 1
scoreLabel?.text = String(score)
}
这是文档中所说的(使用 node.alpha = value
),但我不确定为什么它不起作用。
您可以使用 Action 淡化 alpha,我在下面留下了示例。
class GameScene: SKScene {
var player: SKSpriteNode!
override func didMove(to view: SKView) {
player = SKSpriteNode(color: .purple, size: CGSize(width: 100, height: 100))
player.position = CGPoint(x: self.frame.midX, y: self.frame.midY)
self.addChild(player)
}
func fadePlayer() {
let fadeAlpha = SKAction.fadeAlpha(to: 0.1, duration: 1.0)
self.run(fadeAlpha)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
fadePlayer()
}
}
当触摸开始时,SpriteNode 将淡出到您插入的 alpha 值,它会在您插入的时间内逐渐淡出,此操作会在 1 秒内逐渐将 SpriteNode 的 alpha 淡出到 0.1。