Tom12 Geschrieben 17. September 2017 Melden Share Geschrieben 17. September 2017 Ich bekomme immer den Fehler, dass er CoinsPerSecond() im aktuellen Kontext nicht kennt. Bitte um Hilfe Void Start(){ CoinsPerSecond() = PlayerPrefs.GetInt("SC"); cpsDisplay.text = PlayerPrefs.GetInt("SC").ToString(); } void Update(){ cpsDisplay.text = CoinPerSecond() + " Points/sec"; PlayerPrefs.SetInt("SC", CoinPerSecond()); } public int CoinPerSecond(){ int tick = 0; foreach (ItemScript item in items){ tick += item.count * item.tick; } return tick; } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 17. September 2017 Melden Share Geschrieben 17. September 2017 Auf der linken Seite einer Zusweisung kann nur eine Variable (oder Property) stehen. Ein Methodenaufruf dagegen ist an dieser stelle niemals zulässig. Überlege mal: Wo soll denn der Wert auf der rechten Seite gespeichert werden? Was genau soll denn da eigentlich passieren? Du speicherst den CoinsPerSecond-Wert ab, und dabei geht die offenbar wichtige Information verloren, wie sich dieser Wert zusammensetzt. Beim Laden versuchst du dann, einen einzelnen int-Wert dahin zu schmeißen, wo eigentlich eine etwas komplexere Berechnung mit Items stattfinden soll. Das haut irgendwie alles nicht hin. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tom12 Geschrieben 17. September 2017 Autor Melden Share Geschrieben 17. September 2017 vor 2 Stunden schrieb Sascha: Auf der linken Seite einer Zusweisung kann nur eine Variable (oder Property) stehen. Ein Methodenaufruf dagegen ist an dieser stelle niemals zulässig. Überlege mal: Wo soll denn der Wert auf der rechten Seite gespeichert werden? Was genau soll denn da eigentlich passieren? Du speicherst den CoinsPerSecond-Wert ab, und dabei geht die offenbar wichtige Information verloren, wie sich dieser Wert zusammensetzt. Beim Laden versuchst du dann, einen einzelnen int-Wert dahin zu schmeißen, wo eigentlich eine etwas komplexere Berechnung mit Items stattfinden soll. Das haut irgendwie alles nicht hin. in CoinPerSecond is halt tick und Count wichtig dass es erneut errechnet werden kann wenn ich allerdings tick abspeicher kennt er es wieder nicht da es ja wieder nur eine Variable aufnehmen kann Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 17. September 2017 Melden Share Geschrieben 17. September 2017 Richtig. Alles andere ergibt aber auch keinen Sinn. Dein tick-Wert wird ständig von deinen Items berechnet. Wenn du den tick-Wert dann abspeicherst, aber nicht deine Items, wie soll das Spiel nach dem Laden mit die ticks berechnen? Du hast also zwei Möglichkeiten. Du musst entweder die Items für die Berechnung irrelevant machen und einfach mit einer tick- bzw. coinsPerSecond-Vairable arbeiten. Wenn ein neues Item hinzukommt wird dessen Wert auf diese Variable draufgerechnet. Dafür berechnest du die coins per second nicht alle Nase lang neu. Das ist in meinen Augen eine sinnvolle Methode, weil du aktuell viele Male pro Sekunde mit CoinsPerSecond() immer denselben Wert ausrechnest, anstatt ihn einfach auszurechnen und durchgehend zu benutzen. Die andere Variante wäre, deine ganzen Items abzuspeichern, anstatt einfach nur den einen int-Wert. Auch das ist vermutlich sinnvoll, da du ja offenbar verschiedene Items hast, die etwas bewirken, und im Moment sind sie nicht Teil deines Spielstandes. Sobald man das Spiel speichert, schließt und wieder lädt, ist die Info, welche Items man hat, einfach weg. Das willst du so vermutlich nicht behalten. Da beides Sinn ergibt, willst du vermutlich eine Kombination aus beidem bauen. Was in jedem Fall nicht geht ist, die Zahl ständig aus der Itemliste zu errechnen, die Itemliste aber nicht abzuspeichern. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.