was ist mit dem wetter los ?

  • GM 8

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

  • was ist mit dem wetter los ?

    habe das als regen code

    regen_obj : im step event

    choose(regen_1,regen_2,regen_3)
    motion_set(270,10)

    regen_controll : im step event

    instance_create(random(5000),0,regen_obj,)
    instance_create(random(5000),0,regen_obj,)
    instance_create(random(5000),0,regen_obj,)
    instance_create(random(5000),0,regen_obj,)
    instance_create(random(5000),0,regen_obj,)


    das gleiche habe ich für schnee gemacht aber wenn ich denn room starte wird das spiel langsamer und die frame rate geht in die knie
    hat einer nen idee,wenn regen oder schnee boden berührt werden die zerstört.
  • Du erstellt pro Step (je nach room_speed 30 oder 60 in der Sekunde) fünf neue Instanzen. Je mehr Instanzen umso mehr muss der GameMaker tun und weil der GameMaker mehr zu tun hat sinkt die FPS. Für Partikel die einfachen Regeln folgen kannst du das eingebaute Partikelsystem vom GameMaker nutzen.

    Dazu noch ein paar Anmerkungen:
    • bitte setze deine Codes hier im Forum in die dafür gemachten Tags (einfach oben in der Toolbar auf GML drücken und den Code zwischen die Tags packen):

      Quellcode

      1. [gml]//Code[/gml]

      ergibt

      GML-Quellcode

      1. //Code

    • GML-Quellcode

      1. choose(regen_1,regen_2,regen_3)

      macht überhaupt nichts, du nutzt den Rückgabewert von choose garnicht. Vielleicht willst du den sprite_index setzen?

    • GML-Quellcode

      1. motion_set(270,10)

      du kannst den Code (und den oberen) direkt ins :event_create: Create-Event packen, damit rufst du nicht unnötig Funktionen auf (Performance)

    • GML-Quellcode

      1. instance_create(random(5000),0,regen_obj,)
      2. instance_create(random(5000),0,regen_obj,)
      3. instance_create(random(5000),0,regen_obj,)
      4. instance_create(random(5000),0,regen_obj,)
      5. instance_create(random(5000),0,regen_obj,)

      kannst du mit repeat vereinfachen:

      GML-Quellcode

      1. repeat(5) {
      2. instance_create(random(5000), 0, regen_obj);
      3. }

    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Wieso setzt du die Bewegung im Step-Event die ganze Zeit neu? Wieso nicht einmal im Create-Event vom regen_obj? Und wozu das choose im Step-Event? Ich zitiere:
    Vermeide viel Arbeit im step event oder drawing event der Instanzen. Oft ist es nicht notwendig, dass Dinge jeden step überprüft werden.

    @Framerate: Ich zitiere:
    Vergewissere dich, dass du so wenig Instanzen wie möglich hast.
    Teste mal mit einem Objekt oder mit dem Debug-Menü, wie viele Instanzen du gleichzeitig hast. Zeig' Eigeninitiative!
  • Wenn du 600 (5 * 30 Steps) Objekte pro Sekunde erstellst, ist es kein Wunder, dass das Spiel überlastet ist.

    Eine einfache und für dich geeignete Lösung wären Alarms.

    Create Event:

    GML-Quellcode

    1. alarm[0] = room_speed; // room_speed hat den Wert 30 als Voreinstellung

    Alarm 0 Event:

    GML-Quellcode

    1. instance_create(random(5000), 0, regen_obj);
    2. alarm[0] = room_speed;


    Falls ein Fortgeschrittener über das Thema stolpert: Es gibt die Möglichkeit, nur den Step Event statt Alarm Events zu nutzen.

    Create Event:

    GML-Quellcode

    1. time = 0;

    Step Event:

    GML-Quellcode

    1. time++;
    2. if (time >= room_speed * 60 * 10) { // Ab 10 Minuten (60 * 10 Sekunden) wird der Timer zurückgesetzt
    3. time = 0;
    4. }
    5. if (time / (room_speed * 1) == floor(time / (room_speed * 1)) { // Die 1 steht für die Anzahl an Sekunden
    6. instance_create(random(5000), 0, regen_obj);
    7. }
    8. if (time / (room_speed * 120) == floor(time / (room_speed * 120)) { // Die 120 steht für die Anzahl an Sekunden
    9. // Code für Blitzschlag
    10. }
    Alles anzeigen

    So kann man jede Sekunde ein Regentropfenobjekt spawnen und gleichzeitig alle 2 Minuten einen Blitz einschlagen lassen.
  • achso regen hatte ja geklappt bei schnee war das problem das der motion speed zu langsam war dadurch enstandt zuviel schnee und es wurde langsamer
    danke für eure hilfe mache einfach repeat 1 mal dann klappt schnee auch,übrigens habe ich raum speed 60 :)

    hmm vl mache ich auch noch blitzeinschläge