[swift] SkSpriteKit 을 이용한 ProgressBar 만들기
일단 프로그레스 바를 생성한다.
배경을 사용한 부분과 바를 사용할 부분으로 나누어 생성한다.
바 부분이 앞으로 나오면 된다.
여기서 중요한 것은 각 노드의 이름이다.
노드의 이름으로 상태를 표시하기 때문이다.
화면이 업데이트 할 때 바의 크기를 조정하면 된다.
배경을 사용한 부분과 바를 사용할 부분으로 나누어 생성한다.
바 부분이 앞으로 나오면 된다.
여기서 중요한 것은 각 노드의 이름이다.
노드의 이름으로 상태를 표시하기 때문이다.
func create_ProgressTimer() {
let progress = SKSpriteNode(color: SKColor.darkGrayColor(), size: CGSizeMake(100, 25))
progress.anchorPoint = CGPointMake(0, 0.5)
progress.position = CGPointMake(10, CGRectGetHeight(self.frame)-20)
progress.name = "progress"
self.addChild(progress)
let bar = SKSpriteNode(color: UIColor.RedColor(), size: progress.size)
bar.position = CGPointMake(0, 0)
bar.anchorPoint = CGPointMake(0, 0.5)
bar.xScale = 1.0;
bar.zPosition = progress.zPosition + 0.1
bar.name = "bar"
progress.addChild(bar)
}
화면이 업데이트 할 때 바의 크기를 조정하면 된다.
override func update(currentTime: CFTimeInterval) {
enumerateChildNodesWithName("/progress/bar") {(node, stop) in
if let barNode = node as? SKSpriteNode {
if barNode.xScale >= 0 {
barNode.xScale -= 0.01
} else {
barNode.xScale = 1.0
}
}
}
}
댓글
댓글 쓰기