Dies erstellt einen Ball-Knoten mit Z-Position 2. Aber während ich das Spiel, möchte ich einen anderen Ball erstellen, der eine Position bei 1 hat. Wie kann ich das tun, oder habe ich eine ganz neue Funktion zu machen, die einen Ballknoten mit z-Position 1 macht?So ändern Sie Knotenwert
Antwort
Ich würde vorschlagen, ein Argument zu verwenden, wie:
func createBall(z: Int) {
ballS = SKNode()
let ball = SKSpriteNode(imageNamed: "Ball")
saw.zPosition = z
ballS.addChild(ball)
self.addChild(ballS)
}
Und verwenden Sie es als:
createBall(z: 2)
Nicht sicher, warum ich downvoted wurde, ist jede Rückmeldung willkommen. – sabi
Ich habe Sie updated, aber es wird nicht angezeigt, weil ich einen schlechten Ruf habe. Vielen Dank! –
Wenn jeder ball
Sprite ein Kind das sein muss ballS
Knoten, dann könnten Sie Folgendes tun.
definieren Kugeln als Eigenschaft (dh nach der class
Definition, sondern vor allen Funktionen)
let balls = SKNode()
in didMove(to:)
, fügen Sie den ballS
Knoten:
addChild(ballS)
erstellen addBall
Funktion: (don‘ t rufen Sie es createBall
, es sei denn, alles schafft den Ball)
func addBall(withZPosition zPos: Int) {
let newBall = SKSpriteNode(imageNamed: "Ball")
newBall.zPosition = zPos
ballS.addChild(newBall)
}
Dann addBall(withZPosition:)
rufen Sie einfach einen neuen Ball zu erstellen und hinzuzufügen:
addBall(withZPosition: 2)
Wenn Sie mehr Kontrolle über den Ball wollen, die erstellt wird (z wünschen, bevor es in die Szene einige seiner Eigenschaften zu verändern Hinzufügen) können Sie eine createBall
Funktion machen, die einen neuen Ball schafft und gibt den neuen Knoten:
func createBall(withZPosition zPos: Int) -> SKSpriteNode {
let newBall = SKSpriteNode(imageNamed: "Ball")
newBall.zPosition = zPos
return newBall
}
und diese wie folgt verwenden:
let newBall = createBall(withZPosition: 2)
newBall.size = CGSize(x: 50, y:50)
ballS,addchild(newBall)
U kann eine globale Variable haben, so dass, wann immer Sie es u gesetzt ändern möchten und erstellen Sie den Ball
so erstellen Sie eine Variable
var myZposition = 2
und einen Ball zu Beginn in didmove durch Aufrufen createBall()
func createBall(){
ballS = SKNode()
let ball = SKSpriteNode(imageNamed: "Ball")
saw.zPosition = myZPosition
ballS.addChild(ball)
self.addChild(ballS)
}
dann, nachdem diese zu sehen, wenn Sie die zPosition es gerade eingestellt am Ende didmove ändern möchten anzuzeigen
myZposition = 1
dann, wenn u Kugeln schaffen hier Ihre zPosition wäre 1. Dies wäre eine einfache Einrichtung sein, wenn Sie viele Bälle und eine Änderung in zPosition implementieren für einen bestimmten Bereich des Spiels Hoffnung erreichte das half
Danke! Ich habe Sie aufgestockt, aber ich habe nicht genug Ruf dafür. Es tut uns leid! –
Es ist in Ordnung, froh, dass ich geholfen habe. –
- 1. xpath - Wählen Sie einen Knotenwert, wenn ein anderer Knotenwert existiert
- 2. So aktualisieren Sie den Knotenwert in einer Linkliste mit linq
- 3. Firebase - schnellster Weg Knotenwert mit Knotenwert + Wert
- 4. XDocument Knotenwert finden, wo anderer Knotenwert meiner Suche entspricht
- 5. Aktualisieren Sie XML-Knotenwert in SQL Server
- 6. So ändern Sie XHR
- 7. Symfony3 tree builder generischer Knotenwert
- 8. jsTree - Rückkehr Knotenwert
- 9. bekommen Knotenwert Ausnahme
- 10. Xpath-Ausdruck für Knotenwert
- 11. So ändern Sie die Lautstärke/ändern AudioClip
- 12. So ändern Sie den Balkendiagrammstil
- 13. So ändern Sie das Kommentarzeichen
- 14. So ändern Sie die Standardabsichtkamera
- 15. So ändern Sie Aquamacs Tastaturkürzel
- 16. So ändern Sie die Entwicklerinformationen
- 17. So ändern Sie die ProcessorId
- 18. So ändern Sie den Tabellendatenquelldatensatz
- 19. So ändern Sie die Bildachsenbeschriftungen
- 20. So ändern Sie CSS-Eigenschaften
- 21. So ändern Sie den Zeitwert
- 22. So ändern Sie ActionBar Color
- 23. So ändern Sie die Geräteausrichtung
- 24. XML Child -Knotenwert von soapxml
- 25. Java XML-Knoten Innerhalb -Knotenwert
- 26. Android xml erhalten Knotenwert null
- 27. So ändern Sie die Berechtigungen zum Ändern von Benachrichtigungsabonnements
- 28. So ändern Sie Jquery Datatable-Wert durch Dropdown-Wert ändern
- 29. Xslt Satz Knotenwert in übergeordneter Gruppe
- 30. So ändern Sie Textfarbe in UITextView transparent
Geht es nicht nur darum, SKSpriteNode abzuleiten? –
Was ist "Selbst" hier? –
Ich bevorzuge es nicht, eine Unterklasse zu erstellen - und self ist die Klasse GameScene - auch ich habe gerade entschieden, ein int innerhalb der Klasse hinzuzufügen, und fügte etwas hinzu wie 'if counter == 2 {saw.zPosition = 1} else {saw.zPosition = 2} ' –