Include Files und diese dann darstellen??

  • GM 8
  • Include Files und diese dann darstellen??

    Hallo zusammen.

    Nachdem ich mich heute den ganzen Tag darüber gewundert habe, warum mein Spiel solange braucht bis überhaupt mal der Ladebalken erscheint, bin ich dann letztendlich fündig geworden. Ich habe PNG´s die relativ gross sind 1280x600 mit einem transparenten Hintergrund. DIe Dateigrösse ist eher klein, 6kb. Jetzt habe ich erfahren, das GM die PNG´s in BMP´s umwandelt, und die Dateien dadurch grösser werden, und dadurch der Start extrem hängt.
    Ich habe sie probeweise gelöscht, und siehe da, es lädt wieder super schnell.

    Jetzt meine Frage. Es gibt ja die INCLUDES Funktion. Dort kann ich ja schön alle Files reinpacken, die mit in die Exe sollen. Ich habe die Option zum auslagern in den temporären Order gewählt. Wie kann ich jetzt im Spiel diese Sprites dazu bewegen angezeigt zu werden?
    Bisher habe ich ein Objekt aus dem Sprite erstellt, in der ein Draw Prozess gestartet wurde, und rechts im Fenter die "Draw Sprite" Action.
    Um diese zu starten habe ich dann einen "piece of code" verwendet.

    GML-Quellcode

    1. if line1win2=1
    2. {
    3. instance_create(0,0,b2)
    4. }


    Wie kann ich jetzt die externe Datei "b2" dazu bewegen, auf ähnliche Art zu erscheinen??

    Wenn ich richtig denke, dann müssen ja die Ojekte die vorher zum beinhalteten Sprite gehörten beibehalten werden oder?
    Diese Sprites habe ich ja gelöscht, und möchte diese mit der externen Methode laden.

    Ich hoffe Ihr wisst wie ich das meine?

    Vielen Dank im vorraus.

    GRONI

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

  • das Sprite im entsprechenden Objekt dann auch laden mittels:

    GML-Quellcode

    1. sprite_add

    bzw

    GML-Quellcode

    1. sprite_add_alpha

    wenn du mit dem GM7 arbeitest.

    Wie die Funktionen zu benutzen sind steht in der Hilfe.

    © 2008 by Teamgrill Productions
  • ich habe jetzt eingestellt, das er die Dateien im Spielordner entpacken soll.
    reicht da jetzt

    GML-Quellcode

    1. sprite_add(b2,1,1,0,0,0)


    oder muss ich es so machen?

    GML-Quellcode

    1. sprite_add("b2.gif",1,1,0,0,0)
  • ich kapier gar nix mehr :(

    jetzt habe ich bei dem entsprechenden Objekt "b2" über dem Draw Event ein "piece of code" eingefügt.
    welches sagt

    GML-Quellcode

    1. sprite_add("b2.gif",1,1,0,0,0)


    und darunter das Draw Event

    Draw Event:
    at position (89,211) draw image -1 of sprite <undefined>

    Erstens macht mich dieses <undefined> stutzig, was dann im Spiel auch bestätigt wird.

    Ich rufe im Spiel das Sprite auf mit

    GML-Quellcode

    1. if line1win2=1
    2. {
    3. instance_create(0,0,b2)
    4. }


    Doch es kommt zu einem Fehler "Trying to draw an non existing Sprite"

    :(

    Sorry für die ganzen Probleme, aber ich bin nunmal Anfänger, und total überfordert....
  • Du musst das Sprite auch zuweisen. Und außerdem muss das Sprite nur einmal geladen werden, d.h. der Code kommt ins Create Event.

    GML-Quellcode

    1. sprite_index=sprite_add(...)

    Wenn du im draw event iwo das sprite zeichnen lässt musst du dort den Sprite-Namen gegen sprite_index austauschen.

    © 2008 by Teamgrill Productions
  • Man, teste es bevor du hier postest, aber ja.

    Da du ansscheinend noch nicht so viel über GML weist, hier eine Erklärung:

    sprite_index ist ein locale Variable die jedes Objekt besitzt. Diese beinhaltet das zugewiesene Sprite, in Form des Indexes des Sprites, dies ist eine zahl.
    Wenn du mal schreibst: show_message(irgend ein sprite name) wird in der Message immer eine Zahl stehen.

    add-sprite gibt den Index des neuen Sprites zurück. Du kannst ihn auch in eine globale Variable speichern und diese dann genau wie eine normale Resource, also eine normaler Sprite, verwenden.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von DragonGamer ()

  • Benutzer online 1

    1 Besucher