Image_blend und extern laden problem

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

  • LEWA schrieb:

    ganz einfach ein normales Bild geladen.
    Ich habe es auch mit mehreren Bildern versucht doch es ging nicht.

    Wie funktioniert der code mit Sprite_add?
    Wie adde ich das sprite vom path?

    Vielleicht funktioniert es dann...


    Indem du in die Hilfe schaust und mal was selbst machst/versuchst?

    © 2008 by Teamgrill Productions
  • Ic hschaue die ganze Zeit in der Hilfe nach und versuche es selbst. leider ohne erfolg.
    Ich habe gedacht dass ich den Link zum Bild in eine Ini Speichere, und dann eine add_sprite funktion benutze die den link ausliest. doch ich weiss nicht wie!
    (In der Hilfe steht nicht eine Sprite_add funktion die mit einer Ini verknüpft ist...)

    Die Hilfe bietet mir auf dem gebiet der extern lade funktion wenig. (Was ist überhaupt eine Shell?)
  • LEWA schrieb:

    Ic hschaue die ganze Zeit in der Hilfe nach und versuche es selbst. leider ohne erfolg.
    Ich habe gedacht dass ich den Link zum Bild in eine Ini Speichere, und dann eine add_sprite funktion benutze die den link ausliest. doch ich weiss nicht wie!
    (In der Hilfe steht nicht eine Sprite_add funktion die mit einer Ini verknüpft ist...)

    Die Hilfe bietet mir auf dem gebiet der extern lade funktion wenig. (Was ist überhaupt eine Shell?)


    Hast du vergessen was wir dir schon erklärt haben? Du musst natürlich den Path aus der *.ini lesen und in eine Variable speichern... sagen wir mal "path".
    Dann lädst du das Bild mit:

    GML-Quellcode

    1. spr=sprite_add(path,...,...);

    Jetzt kannst du das Sprite mittels der Variable "spr" benutzen. Natürlich müssen die restlichen Argumente angepasst werden. Schau einfach in die Hilfe...
    Und wenn du jetzt fragst wie man den Pfad aus der *.ini lesen kann fang ich an zu schreien. :P

    © 2008 by Teamgrill Productions
  • dann wirst wohl schreien müssen. :P

    Es tut mir wirklich leid, doch ich habe bei GML dauernd mit Problemen zu kämpfen.

    Wie genau soll ich das mit dem Sprite Add anstellen???
    Und was jetzt genau der path ist weiss ich nicht...

    Ich bin nun komplett verwirrt.
    Sprite Add fügt das Sprite ja zu den ressourcen hinzu. doch wie frage ich jetzt ab, ob das sprite exisitert um es dann zu drawen, und wie genau stelle ich den Pfad ins Sprite add. Außerdem: was ist der PFAD? etwa: file_text_read_string

    (PS: Ich stochere dauernd in der Hilfe rum... Doch sie liefert kaum nutzbare ergebnisse bei der suche.
    Auserdem: wenn ich den gesuchten Begriff finde, dann kann ich daraus nicht wirklich hilfe beziehen...

    Das was ihr mi erklärt habt verstehe ich. Doch umsetzen kann ich es nicht.)

    Edit:

    Wie kann man die Indexnummer eiens Sprites bestimmen?
    Und: Wie kann man in GML ein Sprite ändern? Eine change_sprite funktion hab ich nicht gefunden.

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

  • ok, weist du, was variablen sind?

    wenn nein, lies jetzt nicht weiter und liess dir erstmal ne einsteigerreferenz oder sowas durch.

    GML-Quellcode

    1. file_path = file_text_read_string(file) //erstellt die variable file_path, die den zurückgegebenen wert der funktion file_text_read_string, dem pfad zur bild-datei, speichert
    2. sprite_variable = sprite_add(file_path,...) // erstellt ein sprite anhand des bildes in der directory, die mit file_path angegeben wird und speichert die id, den index des sprites in sprite_variable.
    3. draw_sprite(...,sprite_variable)//benutzt den von sprite_add zurückgegebenen und in sprite_variable gespeicherten wert als id für den zu zeichnenden sprite
    "das war meine letzte flamewar PM an dich ."
  • ich weiss was Variablen sind. ^^

    Das verstehe ich nun auch, doch wenn ich es mit dem Code versuche, (Hab angepasst.) dann kommt auch wieder ein Error:

    Error in code at line 2:
    file_path = file_text_read_string(BGLoadAutorun.ini);

    at position 40: Unknown variable BGLoadAutorun
    ____

    Wieso sagt er dass es eine unbekannte Variable ist?
  • Das dürfte daran liegen das der Gamemaker denkst du gibst eine Variable an. Um ihm klar zu machen dass das keine Variable ist musst du es in Anführungszeichen setzen ;)

    Also so:

    GML-Quellcode

    1. file_path = file_text_read_string("BGLoadAutorun.ini");



  • aso! HAbs übersehen.^^

    Doch der GAme MAker spukt (schon wiederDoch diesmal ist es diese:

    Quellcode

    1. File is not opened for reading.


    Heisst es dass diese Datei nciht zum laden geeignet ist?

    Ich habe es mit einer Ini und cfg versucht. vergeblich...

    Was stimmt da nicht?
  • Grundsätzlich steht im code dass da:

    Quellcode

    1. file_path = file_text_read_string("BGLoadAutorun.cfg");


    Ic hahbe das aber ergänzt mit dem code den du mir gegeben hast. doch der Error kommt immernoch.

    Hier der komplette code fürs laden:

    Quellcode

    1. if (file_exists("BGLoadAutorun.cfg")) {
    2. file_text_open_read ("BGLoadAutorun.cfg");
    3. file_path = file_text_read_string("BGLoadAutorun.cfg");
    4. sprite_bg = sprite_add(file_path,false,false,false,false,false,0,0);
    5. draw_sprite(sprite_bg,0,0,0);
    6. file_text_close("BGLoadAutorun.cfg");
    7. }


    Fürs manuelle speichern:

    Quellcode

    1. var f, s;
    2. if (!(file_exists("BGLoadAutorun.cfg"))) {
    3. message_alpha(0.7);
    4. message_background(backg_mess);
    5. message_size(200,200);
    6. s = get_open_filename("Bilddateien|*.gif;*.png;*.bmp;*.jpeg;*.jpg", ""); // Lässt den Benutzer eine (Bild-)Datei auswählen
    7. if (s == "") exit; // Falls der Benutzer auf 'Abbrechen' geklickt hat, wird das aktuelle Event/Script nicht weiter ausgeführt
    8. f = file_text_open_write("BGLoadAutorun.cfg"); // Öffnet die Datei 'conf.cfg' zum Schreiben; falls diese noch nicht existiert, wird sie erstellt
    9. file_text_write_string(f, s); // Schreibt den Pfad zum ausgewählten Bild in die Datei 'conf.cfg'
    10. file_text_close(f); // Schließt die Datei 'conf.cfg'
    11. }
    Alles anzeigen


    IC hweiss nicht wieso derselbe Error wieder kommt. ;(
  • LEWA schrieb:

    Grundsätzlich steht im code dass da:

    Quellcode

    1. file_path = file_text_read_string("BGLoadAutorun.cfg");


    Ic hahbe das aber ergänzt mit dem code den du mir gegeben hast. doch der Error kommt immernoch.

    Hier der komplette code fürs laden:

    Quellcode

    1. if (file_exists("BGLoadAutorun.cfg")) {
    2. file_text_open_read ("BGLoadAutorun.cfg");
    3. file_path = file_text_read_string("BGLoadAutorun.cfg");
    4. sprite_bg = sprite_add(file_path,false,false,false,false,false,0,0);
    5. draw_sprite(sprite_bg,0,0,0);
    6. file_text_close("BGLoadAutorun.cfg");
    7. }


    Fürs manuelle speichern:

    Quellcode

    1. var f, s;
    2. if (!(file_exists("BGLoadAutorun.cfg"))) {
    3. message_alpha(0.7);
    4. message_background(backg_mess);
    5. message_size(200,200);
    6. s = get_open_filename("Bilddateien|*.gif;*.png;*.bmp;*.jpeg;*.jpg", ""); // Lässt den Benutzer eine (Bild-)Datei auswählen
    7. if (s == "") exit; // Falls der Benutzer auf 'Abbrechen' geklickt hat, wird das aktuelle Event/Script nicht weiter ausgeführt
    8. f = file_text_open_write("BGLoadAutorun.cfg"); // Öffnet die Datei 'conf.cfg' zum Schreiben; falls diese noch nicht existiert, wird sie erstellt
    9. file_text_write_string(f, s); // Schreibt den Pfad zum ausgewählten Bild in die Datei 'conf.cfg'
    10. file_text_close(f); // Schließt die Datei 'conf.cfg'
    11. }
    Alles anzeigen


    IC hweiss nicht wieso derselbe Error wieder kommt. ;(


    Hallo geht's noch? Erstens haben wir dir das schon erklärt zweitens:

    file_text_open_read(fname) Opens the file with the indicated name for reading. The function returns the id of the file that must be used in the other functions. You can open multiple files at the same time (32 max). Don't forget to close them once you are finished with them.


    Das heißt das du das so machen musst:

    GML-Quellcode

    1. if (file_exists("BGLoadAutorun.cfg")) {
    2. file=file_text_open_read ("BGLoadAutorun.cfg");
    3. file_path = file_text_read_string(file);
    4. sprite_bg = sprite_add(file_path,false,false,false,false,false,0,0);
    5. draw_sprite(sprite_bg,0,0,0);
    6. file_text_close(file);
    7. }

    © 2008 by Teamgrill Productions
  • LEWA schrieb:

    Es kommt jetzt zwar kein Error, aber das Sprite wird trotzdem nicht geladen...
    (Wird nicht angezeigt.)

    Liegt das jetzt an mir oder gibt es bei meinem Rechner ein Problem... :(


    Drawbefehle können nur im Drawevent ausgeführt werden und ich hoffe du lädst das Sprite nicht im Drawevent...

    © 2008 by Teamgrill Productions
  • Oh mein Gott.

    Ich bin wirklich blöd...

    Ich musste nur eine überprüfung machen (im draw event) ob das geladene Sprite existiert. wenn ja, dann wird es gedrawt.
    :)

    Danke! Ich habe mit GML nicht viel gemacht... Da überseh ich oft sachen.^^

    Danke dass ihr wirklich geduld mit mir gehabt habt! :thumbsup:
  • Sorry für Doppelpost, aber es kam ein ähnliches Problem wieder zum vorschein...

    Ich habe volgenden code: (Room Start event:)

    Quellcode

    1. if sprite_exists(sprite_bg){
    2. draw_sprite(sprite_bg,0,-1,0);
    3. }


    Er sagt mir aber dass er die Variable sprite_bg nicht finden kann. Ich weiss einfach nicht was da passiert ist... Ich weiss ncith ob ich unabsichtlich den code verändert habe...

    Könnt ihr mir da (erneut) helfen? ;(
  • Benutzer online 2

    2 Besucher