Persistent

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich habe folgendes Problem, ich habe in einem meiner Threads die Frage gestellt ob man den Score als Bild anzeigen kann...
    Damit aber der Score den Raum mitwechselt, muss ich den Score auf Persistent stellen. Aber wenn ich ins Menü wechsel, dann sollen die Punkte denn Raum nicht mitwechseln.
    Kann mir da jemand helfen?
    Danke schon mal im Vorraus
  • Soweit ich mich erinnern kann, ist score von Natur aus eine globale Variable und die bleiben auch beim Roomwechsel erhalten, sind also "persistent". Wenn du also ins Menü wechseln willst, ohne den Wert zu verlieren, dann solltest du eine andere globale Variable erstellen, die den Wert von score zwischenspeichert und beim Zurückwechseln wieder zurücksetzt.

    Beim Wechsel in den Menüraum:

    GML-Quellcode

    1. global.score2=score;

    Beim Wechsel zurück zum Spiel:

    GML-Quellcode

    1. score=global.score2;


    EDIT: Fehler behoben.
    Einige meiner Spiele:
  • die variable "score" ist bereits persistent.
    eigentlich sollte die in jeden raum übernommen werden.

    den code kannst du in einen beliebigen event packen.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Warum nimmt man nicht einfach grundsätzlich eine eigene Variable? Mache ich auch. Ich verwende die internen Variablen nicht mehr, da ich nie genau weiß wie weitreichend diese überhaupt sind. Letztens etwa habe ich aus Versehen dem Gegner eine Variable gegeben, die Health hieß und das endete damit, dass alle Feinde gleichzeitig detonierten... weil Health ja eine globale variable ist. Besser ist meiner Ansicht nach also eine eigene Variable, etwa "var_score" zu machen. Dann ist's zwar schwieriger die Darstellung des Scores zu machen, doch solche Probleme gehören dann der Vergangenheit an.

    €dit:
    Moment. Ähm, die Variable muss dann natürlich "global.var_score" heißen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von F4LL0UT ()

  • An sich richtig, aber GM Neulinge mit solchen Überlegungen zu erschlagen ist vielleicht auch nicht so schlau. Es gibt meistens bessere Wege, als die internen Variablen zu nehmen, aber wenn jemand gerade erst mit dem Game Maker anfängt, ist es schon toll, wenn er zumindest die eingebauten versteht und sich langsam vorarbeitet. Nach dem 2. oder 3. Spiel hat man dann schon raus, wie man sich mit dem Game Maker am besten arrangiert.

    Also fleißig gamemakern und lernen, dann wird das schon!
    Einige meiner Spiele:
  • Na gut, stimmt, schon beim formulieren meiner Antwort hatte ich den Eindruck Tobi unterbewusst mit meiner Pseudointellektualität (die mir letztens ein Freund vorwarf... sehr verletzend... :P) erschlagen zu wollen. Na gut, ich habe schon bei meinem ersten Spiel eigene Variablen nötig gehabt, da es ein Zweispielergame war...

    Aber um nochmal auf meinen Lösungsweg zurück zu kommen: Das beste ist gleich am Anfang nach dem Spielstart (möglichst vor dem Hauptmenü) packt man in irgendein create Event die "set variable" aktion rein und setzt dort var_score auf 0. So ist der Grundstein schon gelegt und später muss man halt immer anstatt auf die Score befehle zurück zu greifen "set variable > var_score" verwenden. Ist ja an sich nicht besonders kompliziert.
  • Ich versteh dich nicht. "Wenn ich Score nicht auf Persistent stelle, " Wie bitte? Wie kann man denn score auf persistent stellen. score ist eine Variable und kein Objekt. Nur Objekte oder Räume können persistent sein. score ist eine globale Variable, also ist es sie in allen Räumen vorhanden, daran kann man auch nichts ändern, erst recht nicht "auf persistent stellen", was immer du damit meinst.
    Bei deinem Spiel sind mir trotzdem einige Fehler aufgefallen:
    1. Du hast mehrmals Fragen eingebaut, zB. wenn man das Spiel beenden und zurück ins Hauptmenü will. Du musst allerdings bedenken, dass zu so einer Frage nur das nächste Icon gehört. Nicht alle danach folgenden. Wenn du mehrere Anweisungen von der Frage abhängig machen willst, musst du die "start of a block" und "end of a block" Symbole um die Anweisungen nach der Frage außenrum bauen. Dann wechselt man auch nicht ins Menü zurück, wenn man Nein klickt.
    2. Bei deiner Bewegung stellst du die Richtung bereits über die "start moving.."-Icons ein. Das zusätzliche Setzen der Variable diraction macht keinen Sinn. Da macht es auch keinen Unterschied, dass du dich verschrieben hast, da es eigentlich direction heißen müsste.
    3. Die Bewegung funktioniert an sich nicht sehr gut, vor allem bei Richtungsänderungen.
    4. Die Healthanzeige ist unnötig kompliziert und unübersichtlich gemacht.
    ...

    Vielleicht meinst du mit score, dass die Score oben in der Caption angezeigt wird. Die Sache konnte ich nicht beurteilen, da der Fenstermodus größer als die Auflösung meines Monitors war. Jedenfalls wäre es gut, wenn du dich mal genauer ausdrücken könntest, was eigentlich dein Problem ist. Denn selbst mit der gm6 hab ich nicht verstehen können, um was es dir eigentlich geht.
    Einige meiner Spiele:
  • Hi Leute!!! :D

    Tut mir Leid, dass ich mich so lange nicht mehr gemeldet habe.
    Aber das Problem hat sich von alleine gelöst:
    Hab ne Zeit lang nicht mehr mit GM gearbeitet, und auf einmal ging es.

    Danke für eure Hilfe :D :P ;) :) :happy:


    PS: Hab echt keine Ahnung wo dran das liegen könnte!!!