sprite_add geht nicht?

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

  • sprite_add geht nicht?

    Hallo Leute!

    Irgend wie funktioniert sprite_add oder background_add nicht.

    Ich habe sowohl mit Include-Dateien, als auch mit externen Bildern(jpg oder png) probiert.

    Es kommt immer ein Fehler.
    GM meckert immer das die Bilder nicht existieren, was aber nicht stimmt.

    Wie kann man das umgehen und dynamisch Bilder einbinden?

    Anbei: Ich habe das Laden im Create, sowie GameStart-Event probiert. ->Es geht nicht!
    (Habs auch als globale Variable probiert)
  • Ich hatte das gleiche Problem mit Fonts mal.

    Dort ist der GM zwar nicht abgestürzt, sondern hat nur keinen Text mehr angezeigt.

    Jetzt funktioniert es:
    ich weiß aber nicht warum...

    - ich habe den Cache gelöscht
    - alles neu importiert
    - per Hand importiert (Ordner)
    - Namen getauscht

    Vllt klappt ja iwas bei dir.
  • Danke glim888 für Antwort!

    Also ich habe die Dateien(Bilder) schon umbenannt ->gelöscht -> neu konvertiert.

    Als Include-Dateien eingebunden.... -> mit "working_directory" oder ohne

    -> GM Studio und Windows Neustart

    -> Alles half rein gar nichts.

    Es kommt immer die Fehlermeldung:
    Trying to draw non-existing sprite.

    Im Create oder Game-Start steht folgendes:

    Quellcode

    1. b64_dec_file("WBase64.txt","G:\\base_new.jpg");
    2. global.spr2 = sprite_add("G:\\base_new.jpg", 1, false, true, 0, 0);
    3. //global.spr2 = sprite_add("base.jpg", 1, false, true, 0, 0);
    4. //global.spr2 = sprite_add(working_directory + "base.jpg", 1, false, true, 0, 0);


    Im draw:
    draw_sprite(global.spr2, 0, 10,10);

    Und ja: Die beiden Beispiel-Dateien base.jpg oder base_new.jpg existieren aber genau an den angegebenen Orten.
    //Die erste Zeile hier im Code ist hierbei erstmal uninteressant.

    Kann mir jemand eine mögliche Lösung nennen?

    Hier mal eine Beispiel *.gmz-Datei:
    workupload.com/file/ZeJhLMJ

    ...
    Ich habe gerade etwas sehr seltsames festgestellt.
    Ich habe mal meine erstelle gmz-Datei geöffnet und da kann ich die Bilder im Include-Verzeichnis öffnen, aber auch nicht die externen.
    Also habe ich mal mein identisches Projekt wieder geöffnet und probiert. Hier kommt auch nach einem Target-Clean immer noch der Fehler.

    Es ist sehr, sehr komisch!

    ...
    Also es geht jetzt mit einem neuen Projekt.
    ​Wobei es aber trotzdem beim Einbinden von neuen *.png-Dateien rumspackt.

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Weihnachtswichtel ()

  • Ich habe mal eine Quiz-App gemacht.
    Die ganzen Fragen waren in einer .ini
    Die .ini war eine include Datei.

    C:\Users\Lukas\Documents\GameMaker\TestBluetooth.gmx\datafiles\quiz.ini

    Hast du deine Bilder auch in dem Ordner?
    Teste doch mal eine ini oder txt datei.

    Vllt ist es bei include Bildern ja wie bei Extentions für Android.

    Die funktionieren ja auch nur wenn man die App erstellt
  • Naja, das Thema hat sich erstmal erledigt.

    ​Also Erstens "sprite_add" oder "background_add" funktionieren im Allgemeinen.

    ​Was ich aber trotzdem feststellen musste:

    ​Das GM-Studio hat mein altes Projekt selbständig zerstört.
    Das klingt jetzt böser als es ist.
    Also ich habe die Bilder per Hand aus den Includes wieder entfernt, doch trotzdem bleiben die Bilder im Ordner enthalten.
    ​Also im Resource-Tree werden auch nach einem Neustart oder Target-Clean immer noch die Ressourcen angezeigt, die es im selbigen Ordner aber gar nicht mehr gibt.
    ​Also irgend wie hat hier die Löschfunktion vom GM-Studio versagt.

    ​Aber mit einem neuen Projekt funktioniert es.
    ​Außer das ich beim Einbinden neuer png-Dateien (nicht jpg) immer das Projekt neu laden muss bis diese angezeigt werden.
    ​Bei jpg-Dateien existiert dieses Phänomen nicht.

    ​Leider funktionieren die _add Befehle nur mit Dateien im "working_directory", aber damit kann ich leben.