Laden

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

  • Ich glaube das geht so

    oben bei der GameMaker Oberfäche wo File, Edit,....
    steht drückst du auf "Resources" > dann "Change Global Game Settings" > dann "Loading"
    und da drinen galub ich kannst es dann einstellen.


    da hab ich gefunden:
    Spoiler anzeigen
    http://gamemaker.wikicomplete.info/forum/t-1876/preloader


    hoffe es hilft
    mfg Eumi
  • du braucht nur einen ladebalken wenn du auch etwas lädst, ist dir das absolut bewusst? ich mein die leute wollen keinen ladebalken sehn sie wollen ein spiel spielen!
    "das war meine letzte flamewar PM an dich ."
  • @blubberblub :D

    das hat er doch geschrieben

    während ein Raum geladen wird



    @Melancor
    z.B wenn du eine level fertig hast und das Spiel in einen anderen Raum wechselt,
    muss es unter Umständen eine Zeit lang laden....
    das is das "Laden von Räumen"
  • Nein das geht nicht, auser du läds alles was im Raum benötigt wird nach. Dann machen wir das immer eine Datei geladen wir in eine Step( Dafür eigen sich Timelines) Also eine variable z.b load diese wird immer um eins erhöht wenn eine datei geladen wurde. Das wird gedrawt z.b "0/10 Grafiken geladen..."
    mfG Henrik1235
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • um mich meinen vorrednern anzuschließen: die räume sind so schnell geladen, dass ein ladebalken nicht notwendig ist.
    ABER, du wirst dir schon was dabei gedacht haben, wenn du danach fragst, stimmts?
    also mein vorschlag wäre, dass du ein objekt machst, welches eine schwarzes viereck über den view/raum zeichnet.
    und über diesem viereck lässt du dann den einen balken zeichnen. das könntest du so machen:
    im draw_event:

    GML-Quellcode

    1. draw_set_color(black)
    2. draw_rectangle(0,0,room_width,room_height,0)
    3. //dann für den balken
    4. if breite <= breite_max {breite += 1}
    5. draw_set_color(c_lime)
    6. draw_rectangle(50,room_height-50,breite,room_height-25,0)
    7. if breite = breite_max {instance_destroy()}


    mfg
    HIM
  • henrik1235 schrieb:

    Nein das geht nicht, auser du läds alles was im Raum benötigt wird nach. Dann machen wir das immer eine Datei geladen wir in eine Step( Dafür eigen sich Timelines) Also eine variable z.b load diese wird immer um eins erhöht wenn eine datei geladen wurde. Das wird gedrawt z.b "0/10 Grafiken geladen..."
    mfG Henrik1235

    Um Gottes Willen! :pinch:
    Es ist ja schon nicht gerade clever, pro Step eine Datei laden zu wollen. Aber mit der Timeline schießt du den Vogel ab.
    Mit einer for-Schleife kannst du alle Objekte in einem einzigen Step laden. Das geht definitiv sehr zügig und den zusätzlichen Ladebalken kann man sich sparen, da das Laden im Normalfall nicht mal 1 Sekunde dauert.

    @$Marvin$-: Was hast du denn konkret vor? Willst du sehr große Dateien laden und befürchtest, dass die Ladezeiten zu lang werden? Oder wolltest du jetzt nur mal wissen, wie man einen eigenen Ladebalken macht?
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Um Gottes Willen! :pinch:
    Es ist ja schon nicht gerade clever, pro Step eine Datei laden zu wollen. Aber mit der Timeline schießt du den Vogel ab.
    Mit einer for-Schleife kannst du alle Objekte in einem einzigen Step laden. Das geht definitiv sehr zügig und den zusätzlichen Ladebalken kann man sich sparen, da das Laden im Normalfall nicht mal 1 Sekunde dauert.
    :pinch: Repeat geht auch. Was warscheinlich einfacher ist.
    Ich habe ein Spie, in dem das Laden von einem Raum lange dauert. Darum hab ich gefragt wie man einen Ladebalken machen kann, damit man weiß wie lange es ungefähr noch dauert, bis der Raum fertig geladen ist.
    Warscheinlich liegt das an deinen Pc, auf einen anderen Pc läd es schneller oder länger. Die Maximalen Zeit wo für es laden muss zirka, kreigst du raus, indem du versucht auf einen ältern laufen zu lassen, und dann die Zeit zu stoppen.
    MfG Henrik1235
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • -$Marvin$- schrieb:

    Ich habe ein Spie, in dem das Laden von einem Raum lange dauert. Darum hab ich gefragt wie man einen Ladebalken machen kann, damit man weiß wie lange es ungefähr noch dauert, bis der Raum fertig geladen ist.

    Wäre gut zu wissen, ob du dafür externe Resourcen verwendest. In diesem Fall wäre es möglich, einen Ladebalken anzuzeigen. Wenn jedoch einfach nur der GM so lange braucht, weil der Raum so riesig ist und viele große Grafiken enthält, wird es schwierig, da einzugreifen. In dem Fall würde ich vielleicht vorher einfach eine statische Ladegrafik anzeigen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • das bringt doch nichts, sein problem ist, dass der raum lange braucht, bis sich etwas tut (wahrscheinlich viele instanzen drinnen).
    mit deiner lösung brauchte der raum noch 4 sekunden länger zum laden und nur in diesen 4 sekunden wird das "Laden" angezeigt.
    d.h. deine lösung verlängert die ladezeit noch anstatt irgendwie die ladedauer anzuzeigen!
  • Zufälligerweise habe ich gerade genau das gleiche Problem. Ich erstelle meine Maps per Zufall und der Algorithmus dafür ist ziemlich aufwendig und rechenintensiv.
    D.h. eine Mapgenerierung kann schon mal so ~4 Sekunden dauern und ich habe leider auch keine brauchbare Ladebalken-Möglichkeit gefunden habe :(

    Im Endeffekt halte ich, wie mauge auch, eine statische Ladegrafik für das Beste. Ich hab meinen Algorithmus auch mal versuchsweise in eine Timeline gepackt, was zwar geht und ohne merklichen Geschwindigkeitsverlust läuft aber irgendwie einfach zu unübersichtlich ist und für die paar Sekunden Ladezeit auch schlichtweg over the top. Ich hätte lieber am Spiel gearbeitet als mich mit so nem Käse zu befassen (positiv jedoch: ich hab gelernt wie man Timelines einsetzt) :]
  • Eine Möglichkeit wäre evtl, innerhalb der Lade-Schleife die Zeit zu messen und wenn die Zeit sagen wir mal grösser als eine Sekunde ist, wird die Schleife abgebrochen, die Daten gespeichert und der Step beendet, draw Event ausgeführt und dann im nächsten Step Event lässt sich die Schleife fortfahren. Brauchts nur ne genaue Zeitmessung.
    "das war meine letzte flamewar PM an dich ."
  • Woohoo danke Prustel :D

    GML-Quellcode

    1. screen_redraw();
    2. screen_refresh();


    Das hab ich aus dem Tut gewonnen das du gepostet hast. Auf die Idee einfach den Screen neu zu zeichnen wär ich vermutlich nie gekommen... aber die 2 Zeilen in meiner Statusupdate-Methode haben genau das bewirkt was ich eigentlich wollte. :]