[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
            }
        }
    }
}


댓글

이 블로그의 인기 게시물

한글 2010 에서 Ctrl + F10 누르면 특수문자 안뜰 때

아이폰에서 RFID 사용하는 방법

VCC 와 GND 는 무엇일까?