Eu sunt încercarea de a face o ZStack că va suprapune Scorul din SpriteKit scena. Am codul de mai jos chiar acum, acest lucru funcționează arată codul în fapt scena, dar eu vreau să-l arăt în Vedere
import SwiftUI
import SpriteKit
var gameScore = 0
class GameScene: SKScene, SKPhysicsContactDelegate {
let removeLabel = SKAction.sequence([SKAction.fadeIn(withDuration: 0.3), SKAction.wait(forDuration: 0.8), SKAction.fadeOut(withDuration: 0.3)])
override func sceneDidLoad() {
super.sceneDidLoad()
}
Aici este funcția:
// MARK: - Add Score
func addScore(){
if gameScore < 250 {
gameScore += 1
scoreLabel.text = String(format: "%06d", gameScore)
let possibleScores: Set = [10, 20, 30, 40, 50, 65, 80, 95, 110, 125, 150, 175, 200, 250]
if possibleScores.contains(gameScore) {
startNewLevel()
}
} else {
gameScore += 2
scoreLabel.text = String(format: "%06d", gameScore)
let possibleScores: Set = [10, 20, 30, 40, 50, 65, 80, 95, 110, 125, 150, 175, 200, 250]
if possibleScores.contains(gameScore) {
startNewLevel()
}
}
}
Punctul meu de Vedere, codul arata astfel:
import SwiftUI
import SpriteKit
struct PageTwo: View {
@State var gameScore = 0
var body: some View {
ZStack {
GameView()
ZStack {
Text("Score: \(gameScore)")
.foregroundColor(.white)
}
}
}
}
Se arată Scorul, dar nu de numărare, deci poate cineva poate spune-mi unde am greșit aici? Acest SpriteKit + SwiftUI este nou pentru mine și încă nu a luat-o destul.