Sprites/ Bilder/ Sound

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

  • Sprites/ Bilder/ Sound

    Wie kann ich Sprites/ Bilder/ Sounds Extern laden lassen immerhin läuft das game mit 200 Mb ram, und habe gehört das wenn die sprites erst dann geladen werden wenn sie gebraucht werden, das dies verhindert System auszulasten! Also meine frage wie stell ich das an, das die sprites usw... von zb ordner DATA oder IMAGE geladen werden?


    Habe auch hier schon im forum gesucht, aber nix dergleichen gefunden, kann ja sein das ich blind bin 8o

    Was mich auserdem etwas verunsichert ist: Komplexe Technic Fragen und Einfache technic fragen? Ich als anfänger kann schlecht zuteiln wo der post zb hingehört! Denn ich kann ja nicht wissen ob es komplex ist oder nicht bzw, beurteiln :)
  • Ja, das geht, siehe Hilfe:
    sprite_add(fname,imgnumb,precise,transparent,smooth,preload,xorig,yorig) Fügt ein Bild aus einer Datei den Sprite-Ressourcen hinzu. Nur bmp, jpg und gif Bilder können geladen werden. Wenn das Bild bmp oder jpg ist kann es als Animationsstreifen mit verschiedenen Subimages nebeneinander geladen werden. imgnumb gibt deren Zahl an (1 für ein einzelnes Bild). Für (animierte) gifs wird dieses Argument ignoriert; die Zahl der Bilder in der gif Datei wird genutzt. precise gibt an, ob präzise Kollisionsüberprüfung genutzt werden soll. transparent gibt an, ob das Bild teiltransparent sein soll. smooth gibt an, ob die Ecken geglättet werden sollen. preload gibt an, ob die Textur in der Speicher vorgeladen werden soll. xorig und yorig geben die Position des Bezugspunktes an. Die Funktion gibt den Index des neuen Sprites zurück um es zu zeichnen oder es über die Variable sprite_index einer Instanz zuzuweusen. Falls ein Fehler auftritt wird -1 zurückgegeben.

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

  • Also nehmen wir mal an, du hast ein Objekt namens "Ball". Für das soll das Sprite geladen werden. Du gehst also ins Create-Event und fügst folgenden Code ein:

    GML-Quellcode

    1. sprite_add(fname,imgnumb,precise,transparent,smooth,preload,xorig,yorig) //nochmal der eine Codeschnipsel aus der Hilfe
    2. sprite_add(Bilder/ball.bmp,1,false,true,false,true,16,16)//und hier ein Beispiel mit einem Bild von 32 auf 32 Pixel als *.bmp ohne prezise Kollisionsprüfung, eingeschalteter transparenz, ausgeschalteter Kantenglättung und eingeschaltetem Vorladen.

    fname: Hier ist zu beachten, das das Bild relativ zur exe gespeichert sein muss. In diesem Fall wird im Ordner, wo das Programm ligt ein Ordner namens "Bilder" erstellt und in diesem Ordner ligt das Bild "ball.bmp".

    imgnumb: Da das Bild kein Stripe ist, schreiben wir bei diesem Argument einfach 1 für 1 Bild.

    precise: Hier ist die prezise Kollisionsprüfung ausgeschaltet, man kann sie mit true aber einschalten.

    transparent: Wie precise, hier kan man die transparenz ein und ausschalten. Wenn man hier true einsetzt, wird der Hintergrund transparent. Das ist wie beim normalen Einladen von Sprites. Mit false kann man das ausschalten.

    smooth: Hiermit wird die Kantenglättung geregelt. Man kann sie mit true einschalten, mit false aus.

    preload: Hiermit wird eingestellt, ob das Bild vorgeladen werden soll. Man schaltet es mit true ein, mit false aus.

    xorig/yorig: Hiermit stellt man den Mittelpunkt des Sprites ein, so wie du es aus dem normalen sprite Reinladen gewohnt ist.

    Ich hoffe, die ganze Sache ist jetzt etwas klarer.
  • THX habe mal ein test gemacht von den ersten antworten.

    CREATE EVENT

    GML-Quellcode

    1. global.sp1=sprite_add("data\test.bmp",1,0,1,0,0,0,0)



    DRAW EVENT

    GML-Quellcode

    1. draw_sprite(global.sp1,-1,100,100)



    jo denke so ist das einfach und es funtzt :) THX @all