ios – Textual content refusing to point out in preview mode with Xcode and swiftui

0
16
ios – Textual content refusing to point out in preview mode with Xcode and swiftui


Because the title suggests, unable to get the scene preview for a recreation utilizing Xcode with SwiftUI to show any textual content on the display in any respect. I’ve tried just a few guides on-line and even put my code right into a code instrument with some recommendations however to no avail. The background is loading appropriately however I’ve but to see any type of textual content showing anyplace on the display.

GameScene code

import SpriteKit
import GameplayKit

class GameScene: SKScene {
    override func didMove(to view: SKView) {
        // Set the pastel blue background coloration
        self.backgroundColor = SKColor(purple: 0.74, inexperienced: 0.85, blue: 0.91, alpha: 1.0)

        // Add an overlay node to carry UI parts just like the title textual content
        let overlayNode = SKNode()
        overlayNode.place = CGPoint(x: self.body.midX, y: self.body.midY)
        addChild(overlayNode)

        // Add the title textual content: "Veg Shootout"
        let titleLabel = SKLabelNode(fontNamed: "Chalkduster")
        titleLabel.textual content = "Veg Shootout"
        titleLabel.fontSize = self.dimension.width * 0.07 // Dynamic font dimension, 7% of display width
        titleLabel.fontColor = SKColor(purple: 0.10, inexperienced: 0.50, blue: 0.20, alpha: 1.0) // Darkish inexperienced coloration
        titleLabel.place = CGPoint(x: 0, y: self.dimension.peak * 0.35) // Prime-middle alignment
        titleLabel.horizontalAlignmentMode = .middle
        titleLabel.verticalAlignmentMode = .middle
        overlayNode.addChild(titleLabel)

        // Debug: Print particulars concerning the title
        print("Scene dimension: (self.dimension)")
        print("Title place: (titleLabel.place)")
    }
}

Sport View controller

import UIKit
import SpriteKit
import GameplayKit

class GameViewController: UIViewController {

    override func viewDidLoad() {
        tremendous.viewDidLoad()

        if let skView = self.view as? SKView {
            let scene = GameScene(dimension: skView.bounds.dimension)
            scene.scaleMode = .resizeFill // Ensures the scene suits the display

            skView.presentScene(scene)

            skView.ignoresSiblingOrder = true
            skView.showsFPS = false
            skView.showsNodeCount = false
        }
    }

    override var shouldAutorotate: Bool {
        return false // Locking rotation for landscape-only
    }

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .panorama // Panorama-only orientation
    }

    override var prefersStatusBarHidden: Bool {
        return true
    }
}

Sport Scene Preview

import SwiftUI
import SpriteKit

struct GameSceneView: UIViewRepresentable {
    func makeUIView(context: Context) -> SKView {
        let skView = SKView()

        // Load the GameScene
        let scene = GameScene(dimension: CGSize(width: 896, peak: 414)) // Panorama dimension
        scene.scaleMode = .resizeFill
        skView.presentScene(scene)

        return skView
    }

    func updateUIView(_ uiView: SKView, context: Context) {
        // No updates required
    }
}

struct GameScenePreview: PreviewProvider {
    static var previews: some View {
        GameSceneView()
            .body(width: 896, peak: 414) // Panorama dimension
            .edgesIgnoringSafeArea(.all)
    }
}

LEAVE A REPLY

Please enter your comment!
Please enter your name here