R

Richard

Mitglied

Zuletzt aktiv vor 2 Jahren

  1. vor 2 Jahren
    j M Y, g:ia \G\M\TO
    R Richard beginnt die Unterhaltung Zwei SKCropNode's auf einem Bild.

    Hi Forum,

    hier erstmal eine Grafik von meinem Vorhaben ...

    ich hoffe ich konnte es deutlich darstellen. Und zwar möchte ich zwei SKCropNode's erstellen und ein Hintergrundbild durch beide zeigen. Mit einem SKCropNode kriege ich das auch hin aber sobald ein zweites ins Spiel kommen soll bin ich raus. Ich müsste doch rein theoretisch beiden SKCropNodes das selbe child zuweisen cropNode1.addChild(background) und cropNode2.addChild(background) ... das geht aber natürlich nicht. Ich hab jetzt schon zwei Tage nach einer Lösung gesucht aber nichts brauchbares finden können. Es wird immer nur ein SKCropNode auf ein SKSpriteNode verwendet. Ich habe auch schon cropNode2.children.append(background) probiert, aber leider ohne Erfolg.

    Welche Möglichkeiten bleiben mir noch?
    Wo liegt mein Denkfehler?
    Oder gibt es sogar noch einen ganz anderen Lösungsansatz?

  2. j M Y, g:ia \G\M\TO
    R Richard schrieb in Übungsaufgaben.

    Hi Orthor,
    ich hab vor kurzem diese Seite gefunden und die haben in einigen Tutorials auch kleine Aufgaben eingefügt wo man sich selbst Gedanken machen soll. Die Lösungen kann man sich aber auch ansehen wenn man nicht drauf kommt. Hoffe sie hilft dir etwas weiter.

    Grüße Richard

  3. j M Y, g:ia \G\M\TO

    Hey Leute,
    ich hab ehrlich gesagt mit mehr antworten gerechnet aber ist nicht schlimm, sind ja auch noch nicht so viele Leute hier angemeldet. Ich habe mittlerweile eine Lösung gefunden indem ich den Wert in NSUserDefaults gespeichert habe. Ist das eigentlich eine saubere Lösung oder eher nicht empfehlenswert?

  4. j M Y, g:ia \G\M\TO

    Hallo Swift-Supporter :)
    ich hab da mal ne blöde Frage. Ich hab nach einem Tutorial ein kleines Spiel erstellt und möchte dieses nun erweitern bzw. verfeinern. Ich hab schon während des Tutorials einige Fehler ausgemerzt da er mit einer anderen Version von Swift programmiert hat und das Spiel läuft jetzt auch so wie es soll. Jetzt habe ich nach diesem Tutorial eine neue "Scene" erstellt (neue .swift Datei und neue Klasse) und komme auch drauf sobald der Spieler verloren hat. Nun möchte ich die erreichten Punkte des Spielers in dem neuen Bildschirm darstellen. Wenn ich jetzt aber direkt auf die Variable "score" zugreife bekomme ich natürlicherweise nur eine 0 da die Variable damit deklariert wurde und erst in einer Funktion verändert wird.

    Hier mal ein Ausschnitt bzw. eine Idee wie ich dachte dass es klappen könnte:

    PlayScene.swift

    import SpriteKit
    
    class PlayScene: SKScene {
        
        var score = 0
        
        override func didMoveToView(view: SKView) {
            scoring()
        }
        
        func scoring() {
            for var i = 0; i < 10; i++ {
                score++
            }
        }
    }

    EndScene.swift

    class EndScene: PlayScene {
        
        override func didMoveToView(view: SKView) {
            println(score)
        }
    }

    Meine Frage jetzt: Wie kriege ich den Wert aus der aktuellen Instanz von PlayScene.swift in EndScene.swift?
    Ich habe natürlich auch schon gegoogelt und habe auch einige Hinweise auf "initializer" gefunden und habe es dann mal so probiert:

    PlayScene.swift

    import SpriteKit
    
    
    class PlayScene: SKScene {
        
        var score = 0
        var endScore: Int
        
        override func didMoveToView(view: SKView) {
            scoring()
        }
        
        func scoring() -> Int {
            for var i = 0; i < 10; i++ {
                score++
            }
            return score
        }
        
        init (endScore: Int) {
            self.endScore = scoring()
        }
    }

    EndScene.swift

    class EndScene: PlayScene {
        
        override func didMoveToView(view: SKView) {
            println(endScore)
        }
    }

    aber da hagelt es Fehlermeldungen ... :(

    Wäre echt nett wenn mir jemand anhand dieses Beispiels erklären könnte wie es richtig geht.

  5. j M Y, g:ia \G\M\TO
    R Richard ist dem Forum beigetreten.