2016-04-19 14 views
0

Angenommen, ich hatte ein Spiel, in dem der Benutzer am Anfang einige Dinge wie Name, Geschlecht usw. auswählen kann und das viele Aspekte im Spiel beeinflussen wird, wie zum Beispiel das Sprite render den Benutzer und den Text, der angezeigt wird.Wie man Benutzerdaten im Spiel speichert? (swift, spritekit)

Also jedes Mal, wenn ich einen Bereich des Spiels verlassen und einen neuen eingeben, sollte ich herausfinden, anhand der Benutzerdaten - welche Sprite zu verwenden und welchen Text zu präparieren. Soll ich eine separate Klasse mit einem Wörterbuch nur für die Benutzerdaten erstellen und sie dann nur aufrufen, wenn ich einen neuen Bereich betrete? Danke yall.

+0

Ob es ein Wörterbuch oder reale Eigenschaften einer Klasse ist etwas Geschmackssache, aber die Daten von den Objekten zu trennen, die Anzeigeregeln handhaben ist eine gute Idee. Wenn Sie mit MVC nicht vertraut sind, könnte dies ein guter Zeitpunkt sein, darüber zu lesen. :) –

+0

@PhillipMills wird das tun !! –

+1

Möchten Sie diese Informationen speichern, wenn der Benutzer das nächste Mal die App öffnet? oder möchtest du es nur für diese Spielzeit speichern? – hamobi

Antwort

3

Es gibt einige Möglichkeiten, dies zu tun.

Ich bevorzuge eine singleton GameData-Klasse mit NSCoding, um alle Eigenschaften (Arrays, Wörterbücher usw.) aufzunehmen, die dauerhaft gespeichert werden müssen.

Ich mag es so, weil es Code lesbarer macht und auch den Vorteil hat, dass Sie von überall in Ihrem Projekt auf die Eigenschaften zugreifen können. Auf diese Weise ist es auch einfach, den icloud-Schlüsselwertspeicher einzubinden.

Sie können diese 2 Fragen habe ich gelesen, für ein einfaches Beispiel dafür, wie beantwortet kann so aussehen

SpriteKit: Why does it wait one round for the score to update? (Swift)

Is there a better way to save a custom class to NSUserDefaults than encoding and decoding everything with NSCoder?

Es gibt eine auch einige gute Tutorials um wie diese

https://www.hackingwithswift.com/read/12/3/fixing-project-10-nscoding

Um Daten sicher zu speichern, können/sollten Sie keychai verwenden n. Um mehr darüber zu erfahren, lesen Sie diese Frage.

How secure is NSUserDefaults on iOS 8,9?

Verwandte Themen