Sprites und Tiles Preloaden

  • iOS

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

  • Sprites und Tiles Preloaden

    Hallo Leute,

    Ich habe in meinem Spiel sehr viele sehr große Sprites, backgrounds und tiles. Wenn diese während des Spiels geladen werden kommt es zu Rucklern welche ich unbedingt vermeiden möchte.

    Leider gibt es ja in Game Maker Studio nicht mehr die Möglichkeit Grafiken zu preloaden. Kennt vielleicht einer von euch einen guten Workaround, so dass alle Grafiken am Anfang des Spiels geladen werden?

    Vielen Dank im Voraus!

    Gruß,
    Pascal
  • Die Texturen werden immer dann geladen, wenn ein Sprite darauf zum ersten mal gezeichnet werden. Du könntest also in einer Schleife am Anfang deines Spiels einfach mal alle Frames deiner Sprites zeichnen. Ich hab es nicht ausprobiert, aber es könnte klappen. Ich würde dir aber empfehlen, die Texturgruppen so aufzuteilen, dass du eben NICHT alle Texturgruppen gleichzeitig im Speicher haben musst!
    Einige meiner Spiele:
  • interceptor schrieb:


    Die Texturen werden immer dann geladen, wenn ein Sprite darauf zum ersten mal gezeichnet werden. Du könntest also in einer Schleife am Anfang deines Spiels einfach mal alle Frames deiner Sprites zeichnen. Ich hab es nicht ausprobiert, aber es könnte klappen. Ich würde dir aber empfehlen, die Texturgruppen so aufzuteilen, dass du eben NICHT alle Texturgruppen gleichzeitig im Speicher haben musst!
    Danke für Deinen Hinweis!

    Und wie genau würde so eine Schleife aussehen? Muss ich alle sprites und backgrounds einzeln auswählen oder geht das irgendwie einfacher?
  • Du musst für die ID eine Variable erstellen, also id=var_id
    dann brauchst du eine do until schleife, in der du var_id += 1 setzt und preloadest, until var_id = xxxxxxxxx

    ich glaub allerdings nicht dass das so eine gute oder ressourcen, zeit schonende idee ist, aber ich hab sowas noch nie gemacht...

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Keine Ahnung was die texture_preload-Funktion genau macht und ob sie eine neue aber noch undokumentierte Funktion oder eine alte und nicht mehr unterstützte Funktion ist. Der Bug dazu scheint noch offen zu sein...
    Eigentlich müsste es aber reichen nur jeweils eine Grafik von jeder Texture Page (Texture Groups können mehrere Pages enthalten) zu zeichnen. Dann ist die komplette Textur im Speicher. Du musst nicht jedes Sprite zeichnen.

    EDIT: Scheint eine alte Funktion zu sein, die unter Studio nichts mehr macht...
    Einige meiner Spiele:
  • interceptor schrieb:


    Eigentlich müsste es aber reichen nur jeweils eine Grafik von jeder Texture Page (Texture Groups können mehrere Pages enthalten) zu zeichnen. Dann ist die komplette Textur im Speicher. Du musst nicht jedes Sprite zeichnen.
    Danke für den Hinweis, das klingt interessant.

    Und woher weiß ich welche Grafiken ich zeichnen muss damit alle Texture Pages im Speicher sind?
  • Idealerweise ordnest du deine Texturgruppen so, dass jede Gruppe nur eine Seite hat. In den Global Game Settings für Windows findest du irgendwo eine Preview der Texturgruppen. Weiß nicht genau, ob das bei iOS auch mit drin ist...
    Einige meiner Spiele: