2016-04-22 7 views
1

Derzeit versuche ich ein einfaches Spiel mit Corona-Simulator zu machen. Nachdem das Spiel beendet ist, möchte ich einen Replay-Button einbauen. Bis jetzt ist der Button das Spiel neu zu starten, aber ich kann die Umgebung nicht zurücksetzen/den Speicher löschen/vorherige Werte der Variablen löschen. Auf der Suche nach einem Leitfaden vom Experten.Wie Lua-Umgebung zurücksetzen?

+0

Ich kann nicht kommentieren, die besten Programmierpraktiken mit Lua, aber Sie können dieses Dokument auf Garbage Collection in Corona betrachten: https: //docs.coronalabs. com/api/library/global/collectgarbage.html. Mit Garbage Collection wird Speicher automatisch für nicht verwendete Ressourcen neu zugeordnet. –

Antwort

2

Ich denke, der nette Ansatz wäre, zu vermeiden, globale Variablen für Ihren Spielzustand zu verwenden, damit Garbage Collect aufräumt, sobald Ihre lokalen Sachen aus dem Fokus geraten sind.

Ein anderer Weg wäre, Tabelle _G aufzuräumen, wo Lua seine Globals speichert.

0

Schauen Sie sich die Corona Composer an. Es ist der empfohlene Weg, um in Corona und (IMO) sehr einfach und effektiv zu entwickeln. Es behandelt die komplizierten Dinge wie Speicherverwaltung und Garbage Collection für Sie.

In Ihrem Fall würden Sie eine Szene für Ihr Spiel erstellen, und dann können Sie diese Szene neu laden, und solange Sie sich an die Richtlinien gehalten haben, wird es die Müllsammlung für Sie behandeln. Um eine Szene am effizientesten nachzuladen, versuchen Sie this