我想在我的场景中添加 Health Bar (一个进度条)。
这是一个填充颜色的矩形条,位于场景的左上角,每秒都会缩小(填充的颜色)。在2个物体(SKSpriteNode
)相互碰撞后,它会给你+ 5秒的时间。
感谢LearnCocos2D和CloakedEddy,我知道我只需使用SKSpriteNode with Color
或SKCropNode
而不是SKShapeNode
来制作条形码。
我现在应该如何实现它,以便每一秒顺利减少自己?
我的代码:
....
var progressValue = 200
....
HealthBar = SKSpriteNode(color:SKColor .yellowColor(), size: CGSize(width: progressValue, height: 30))
HealthBar.position = CGPointMake(self.frame.size.width / 3, self.frame.size.height / 1.05)
HealthBar.anchorPoint = CGPointMake(0.0, 0.5)
HealthBar.zPosition = 4
self.addChild(HealthBar)
答案 0 :(得分:0)
您可以做的是将SKSpriteNode作为健康栏。然后在第一个节点上有一个SKSpriteNode作为帧。您有一个操作SKAction.repeatForever(SKAction.sequence([SKAction.moveByX(moveAmount, y: 0, duration: 0.5), SKAction.waitForDuration(0.5)]))
并使健康栏(而不是框架)运行该操作。这样做会将健康栏从屏幕移开,使其看起来像是在下降。
关于碰撞问题,请查看this教程。如果这没有帮助,也许你可以找到其他人。我想帮助解决这个问题,但即使使用SpriteKit,碰撞检测也相当深入。我希望这有帮助。祝你好运!