level

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

  • du solltest dein problem mal etwas genauer ausformulieren, wenn du ne klare lösung haben willst.

    aber soweit ich dis verstanden hab, machst du das am besten so, dass du ein objekt erstellst, welches nicht sichtbar, aber persistent ist, und dort dann im endstepevent folgenden code:

    GML-Quellcode

    1. if (global.punkte >= global.letzer_punktestand+100)
    2. {
    3. global.letzter_punktestand=global.punkte;
    4. room_goto_next();
    5. }
    und im createevent setzt du noch global.letzer_punktestand auf 0. global.punkte sollte dabei aber auch immer deinen aktuellen punktestand gespeichert haben...

    ooops, zu lahm...

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

  • mach dann beim step event einfach

    GML-Quellcode

    1. if global.punkte >= 100
    2. {
    3. room_goto_next()
    4. global.punkte = 0
    5. }

    und dann musst du überall wo man punkte bekommen kann noch
    global.punkte += (hier die punkte die er bekommen soll)

    dann zahlt er die punkte
    und bei einer extra variable schaut er wann er ins nächste level soll
    Die Schönheit liegt im Auge des Betrachters :D
  • Original von Andyworld
    mach dann beim step event einfach

    GML-Quellcode

    1. if global.punkte >= 100
    2. {
    3. room_goto_next()
    4. global.punkte = 0
    5. }

    und dann musst du überall wo man punkte bekommen kann noch
    global.punkte += (hier die punkte die er bekommen soll)

    dann zahlt er die punkte
    und bei einer extra variable schaut er wann er ins nächste level soll


    aber dieser code setzt die punkte doch wieder auf 0.
    nimm einfach meinen code von oben, und mach bei allem was punkte bringt global.punkte +=, bzw. global.punkte -= bei allen minuspunkten.
  • also, genauer.... !

    hab einen ghost (object1) und dollars (object2) die der ghost sammeln muss. pro dollar kassiert er 10 punkte.

    bei 100 dollars soll das nächste level starten und die punktezahl soll nicht wieder auf null zurück..

    ....naja ist ja auch mein erster versuch ein game zu machen. mache sonst nur musik und hab keinen blassen vom programieren... ! ;o)
  • 1.

    globale Variablen kannst du benennen wie du magst.

    Du kannst sie auch global.scorepunkte nennen oder global.knoepfe.

    Das hat keine Auswirkung auf die Punktezählung, solange der Ghost bei Berühren des Dollars auch mit global.scorepunkte oder global.knoepfe arbeitet.

    2.

    Das Ding oben ist ein Controll_Objekt, welches du einfach in jeden Room einfügst. Mach es "Invisible" also nicht sichtbar, durch Rausnahme des Häkchens (neben Solid).
    Was man mit Händen baut, kann auch mit Händen zerstört werden...
  • Neues Projekt

    Guten Tag,

    ich habe ein Problem... wobei ich dachte dieses hier gefunden zu haben.

    Also...., ich möchte ebenfalls bei erreichen von 1000 Punkten in das nächst höhere Level weiterleiten und wenn man mit der Maus auf ein Symbol klickt gibt es unterschiedliche Punkte.

    Ich habe wie beschrieben ein Objekt angelegt welches in jedem Raum unsichtbar zur Verfügung steht und habe dort ein EndStep mit folgenden Code angelegt:


    GML-Quellcode

    1. if global.punkte >= 1000
    2. {
    3. room_goto_next()
    4. global.punkte = 0
    5. }


    In den Symbolen die man wegklicken kann habe ich folgenden Code eingegeben:

    GML-Quellcode

    1. global.punkte+=50;



    Laut euren Ausführungen müsste dieses funktionieren, wenn ich das richtig verstanden habe....

    Leider ist es so, dass ich sofort nach dem Start des Spieles nachfolgende Fehlermeldung bekomme:
    ___________________________________________


    ERROR in
    action number 1
    of End Step Event
    for object object23:

    Error in code at line 1:
    if global.punkte >= 1000
    ^
    at position 12: Unknown variable punkte

    Habe ich irgendwas vergessen oder nicht beachtet? Ich nutze GM 8.1 Vollversion.

    Kann mir bitte jemand weiter helfen.

    Vielen Dank Maik
  • Hast du die Variabel in dem CreateEvent definiert (z.b. global.punkte=0)?
    Denn sonst wird eine Variable abgefragt die beim EndStep-Event gar noch nicht existiert.

    Hoffe konnte helfen ^^.


    meine Schnecke i@________________________________________________________________________________________
    bitte nicht drauf treten!
  • Hallo und danke für deine schnelle Antwort.

    Das hatte ich vergessen bzw. übersehen und habe das nachgeholt....

    Habe in dem betreffendem Symbol das CreateEvent definiert und global.punkte=0 eingetragen.


    Das neue Problem: Nun bekomme ich zwar keine Fehlermeldung mehr, dafür werden oben im Fenster auch keine Punkte bzw. Score angezeigt.


    VG Maik
  • Wenn ich mich nicht irre liegt das daran dass im Fenster nur die Variable Score gezeigt wird.
    Du musst die Variable also selber zeichnen lassen (z.b.: draw_text(x,y,global.punkte) im DrawEvent).


    meine Schnecke i@________________________________________________________________________________________
    bitte nicht drauf treten!
  • Guten Morgen,

    ich hab das so gemacht wie du es beschrieben hast und funktioniert einwandfrei... also es wird alles angezeigt wie ich das gern hätte.

    Jetzt habe ich scheinbar doch noch ein Problem: Die erreichten Punkte werden NICHT mit in das neue Level übernommen und das wäre eben sehr wichtig das dieses passiert.

    Gibt es dafür eine Lösung? Eigentlich löst man doch diese Problematik mit global.punkte oder?

    Vielen Dank für deine recht zügigen Antworten immer ;-).

    VG Maik
  • Das Problem wurde weiter oben schon beschrieben. Du hast nach dem room_goto_next() global.punkte=0 stehen.
    Das bedeutet dass die Punkte auf null gesetzt werden. Du kannst diesen Befehl also einfach löschen.


    meine Schnecke i@________________________________________________________________________________________
    bitte nicht drauf treten!