그래서 두 개의 레이블 노드를 코드에 추가하고 다른 레이블 노드가 보이지 않을 때 숨기고 게임이 시작되면 그 반대의 경우를 원합니다.skLabelNodes 가끔만 작동합니다
class GameScene: SKScene {
// Declarations
let startLabel:SKLabelNode = SKLabelNode()
let scoreLabel:SKLabelNode = SKLabelNode()
var score = 0
override func didMoveToView(view: SKView) {
// Properties
startLabel.fontSize = 20
startLabel.fontColor = UIColor.blackColor()
startLabel.position = CGPointMake(self.frame.width*0.5, self.frame.height*0.5)
startLabel.text = "Touch Paddle To Begin"
startLabel.hidden = false
self.addChild(startLabel)
scoreLabel.fontSize = 20
scoreLabel.fontColor = UIColor.blackColor()
scoreLabel.position = CGPointMake(self.frame.width*0.5, self.frame.height*0.75)
scoreLabel.text = "\(score)"
scoreLabel.hidden = true
self.addChild(scoreLabel)
그런 다음 패들이 터치되면 moveBall() 함수가 시작되고 게임이 시작됩니다. 여기가 내가 라벨을 바꿨다.
func moveBall() {
// Setting Labels
self.startLabel.hidden = true
self.scoreLabel.hidden = false
// Starting game
self.ball.physicsBody?.dynamic = true
그러나 가끔씩 만 작동합니다. 그것은 완벽하게 작동 할 것이고, 아무 것도 바꾸지 않으면 다시 실행할 것이고 하나의 라벨 만 나타날 것입니다. 그런 다음 다시 한 번 다른 레이블이 표시되거나 시작 레이블이 프레임에 대해서만 표시되고 사라집니다.
면책 조항 : 코드 작성 방법을 모르겠다. 게임에 대한 아이디어를 얻었으며 실제로 실현하려고 노력 중입니다. 솔루션이 단순한 경우 사과드립니다. 또한 내 코드에 대한 조언을 주시면 감사하겠습니다. 감사!
어디에서 moveBall()을 호출합니까? – Whirlwind
레이블의 z 위치를 확인하고'GameViewController.swift'에서'ignoreSiblingOrder'가'false'로 설정된 경우 배경 이미지가있는 경우 라벨이 때로는 뒤에 그려지는지 궁금해? –