Swift, SpriteKit로 진행률 표시줄 표시하기
컨텐트
SKScene에 진행률 막대를 표시하는 방법 정보
(※ SpriteKit의 SKScene은 UIView Controller를 다중으로 계승할 수 없으며, UIProgressView를 사용할 수 없습니다. UIProgressView를 사용하지 않는 방법을 소개합니다)
그림 완성
이루어지다
(1) 항목에 이미지 쓰기
(이번에는 300입니다.×사용20)
(2) 진행률 막대 전용 클래스 만들기
Swift2.0
import SpriteKit
class ProgressBar: SKCropNode {
override init() {
super.init()
let sprite = SKSpriteNode(imageNamed: "progressbar")
sprite.anchorPoint = CGPoint(x: 0, y: 0)
let maskSprite = SKSpriteNode(color: SKColor.blackColor(), size: sprite.size)
maskSprite.anchorPoint = CGPoint(x: 0, y: 0)
self.maskNode = maskSprite
addChild(sprite)
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// 初期値設定メソッド (0.0 〜 1.0)
func setProgress(progress: CGFloat) {
self.maskNode?.xScale = progress
}
// プログレスバーの数値を増やすメソッド
func updateProgress(progress:CGFloat){
self.maskNode?.xScale += progress
}
}
(3) SKScene에 진행률 표시줄 추가Swift2.0
import SpriteKit
// プログレスバー
let progressBar = ProgressBar()
class GameScene: SKScene{
override func didMoveToView(view: SKView) {
// プログレスバーを追加
self.addChild(progressBar)
progressBar.setProgress(0.0) // 初期値
progressBar.position = CGPoint(x: 30, y: self.frame.height-40)
progressBar.zPosition = 1 // 背景バーよりレイヤーを前に
// プログレスバー(背景)を追加
let backgroundBar = SKSpriteNode(color: UIColor.grayColor(), size: CGSizeMake(150, 10))
backgroundBar.anchorPoint = CGPoint(x: 0, y: 0)
backgroundBar.position = CGPoint(x: 30, y: self.frame.height-40)
self.addChild(backgroundBar)
}
}
(4) 진도표 증가 수치체력 증감과 경험치 증가 타이밍 등에 사용한다.
Swift2.0
// 任意の場所で下記実行(引数に指定された数値分、加算される)
progressBar.updateProgress(0.1)
(5) SKScene을 표시하는 View 생성Swift2.0
import UIKit
import SpriteKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let scene = GameScene()
let skView = self.view as! SKView
scene.scaleMode = .AspectFill
scene.size = skView.frame.size
skView.presentScene(scene)
}
}
방금 만들어졌기 때문에 리셋이 전혀 안 되지만, 먼저 위의 방법으로 SKScene에 진도표를 표시한다.
Reference
이 문제에 관하여(Swift, SpriteKit로 진행률 표시줄 표시하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/moc2/items/117d528ffcf50be00216텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)