Ich habe in meiner Freizeit Android gelernt und eines der ersten Dinge, die Ihnen jedes Tutorial / jede Anleitung vorstellen wird, ist das Konzept einer "Aktivität". Jeder definiert eine Aktivität lose als einen Bildschirm zum Ausführen einer bestimmten Aktivität.
Meine Frage ist, wie relevant / wichtig ist es, mehrere Aktivitäten für ein Spiel zu haben? Gibt es Richtlinien für die Aufteilung eines Spiels in mehrere Aktivitäten? Um zu erklären, was ich meine, nehmen wir ein Spiel wie Final Fantasy.
In Final Fantasy gibt es verschiedene Bildschirme, die immer und immer wieder verwendet werden:
- Die Welt- / Dungeonkarte
- Der Kampfbildschirm
- Die Menüs Ausrüsten / Fertigkeiten / Gegenstände
Wäre jede dieser Aktivitäten eine Aktivität, zwischen der Sie hin und her wechseln, oder würden Sie den Bildschirm innerhalb einer Aktivität neu zeichnen?
Nehmen wir an, es ist alles nur eine "Spiel" -Aktivität - dies wirft andere Fragen auf, z. B. was ist mit einem Begrüßungsbildschirm vor Spielbeginn, der Ihr Firmenlogo / -namen anzeigt und einen Sound wiedergibt? Sollte das als Teil der Spielaktivität betrachtet werden oder sollte es eine eigene Aktivität sein?
Antworten:
Ich bin kürzlich selbst in die Android-Entwicklung eingestiegen. Ich habe langjährige Entwicklungserfahrung, habe mich aber entschlossen, in das flache Ende der Android-Entwicklung einzusteigen.
Das heißt, ich habe so ziemlich ähnliche Dinge getan wie Sie, aber meine Perspektive unterscheidet sich aufgrund der Erfahrung.
Trotzdem habe ich ursprünglich mit dem Ansatz "Ein Bildschirm == Eine Aktivität" begonnen und schnell seine Grenzen kennengelernt.
Welches funktioniert nach einer Mode. Ausnahmslos werde ich eine Art endliche Zustandsmaschine verwenden, und so wurden Aktivitäten zu Zuständen ... einfach genug, dachte ich.
Dann wurde mir klar, dass ich jedes Mal, wenn ich den Zurück-Knopf drücke, zu der vorherigen Aktivität gehe.
Dies kann eine große Sache für Ihr Spiel sein oder auch nicht, aber beachten Sie Folgendes:
Sie befinden sich in der OverworldActivity (unter Verwendung der bekannten Final Fantasy-ähnlichen Terminologie) und wandern um die Welt, wenn Sie plötzlich eine Begegnung haben und zur CombatActivity gehen.
Wenn Sie zu diesem Zeitpunkt den Zurück-Knopf drücken, kehrt Ihr Spiel in die Überwelt zurück.
Und das ist für mich inakzeptabel, und ich bin für Sie fast sicher inakzeptabel.
Ja, Sie können Handler in die Aktivitäten einfügen, sodass Sie bei einer ungültigen Aktivität an die richtige weitergeleitet werden. Am besten ist es jedoch, Aktivitäten mit der Schaltfläche "Kann ich sicher auf die Schaltfläche" Zurück "klicken und trotzdem" Entwerfen " das Spiel macht Sinn ".
Hier ist ein Schema, das eher für ein Spiel im FF-Stil funktioniert:
Und hoffentlich hilft das.
quelle
In der Android-Dokumentation heißt es: "Eine Aktivität ist eine einzelne, fokussierte Sache, die der Benutzer ausführen kann."
Für jede Art von Spiel- / Menüfunktion möchten Sie also eine andere Aktivität haben. Ihr Beispiel mit Final Fantasy ist perfekt. Ein Begrüßungsbildschirm scheint eine Frage der Präferenz zu sein. Sie können ihn beispielsweise in die Hauptmenüaktivität integrieren oder als separaten Bildschirm in das Hauptmenü einbinden.
quelle
Ich kann mich wiederholen, aber dies war meine Antwort auf eine ähnliche Frage:
Und nicht nur das Drücken von Tasten, sondern auch die verschiedenen Zustände, in denen sich ein Spiel befinden kann, wie Begrüßungsbildschirm, Menü, Spielen usw. Da alle genannten Spiele-Engines Open Source sind, laden Sie sie herunter und sehen Sie sich ihren Code an;)
Manchmal denke ich, dass Googles Vorstellung von Aktivitäten mehr verwirrt als hilft.
quelle