Image Datei verschieben

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

  • Image Datei verschieben

    hy


    also ich hab ein problem ünd zwar will ich eine image datei verschieben in ein anderen ordner...wie könnte ich das machen?
    ich weiß nicht aber ich habe jetzt keine fünktion gefünden...aber es müss doch irgendwie möglich sein.wäre toll wenn ihr mir helfen könntet
  • es gibt eine funktion Namens

    GML-Quellcode

    1. file_copy(fname, newname)

    sollte die das machen was du suchst frag ich mich irgendwie, ob du überhaupt gesucht hast...

    naja, wie auch immer
    LG - Larsi
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • danke ünd ich habe gesücht ich hab das aüch gesehn ...ünd da kann man denk ich aüch nicht sagen wo man es hinkopieren soll...
    der kopiert es einfach in denn temp ordner.

    weil eigentlich wollte ich ja gleich file_rename benützen....weil ich meine image datei züerst sowieso ümbenenne ..ünd dachte ich kann dort gleich das directory festlegen was aber leider nicht ging.


    EDIT:ok danke dadürch geht es.thx ünd ich hab gesücht.ünd ich kannte es aüch schon nür steht nirgens ein hinweiß daraüf das man die datei dadürch verschieben kann.ünd wie dü siehst bin ich anfänger.also kann ich noch nicht alles wissen.


    EDIT2: ach ich hab ein problem ich lasse ja immer ordner erstellen die das datüm als namen haben...ünd manchmal lässt er eine zahl weg aber nür manchmal....aber warüm?
    also es ist haüptsächlich dann wenn es ünter 10 minüten sind....dann schreibt er die 0 nicht davor...was ich eigentlich blöd finde.weil die ordner dadürch nicht mehr in der reihenfolge sind

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

  • hier so:

    GML-Quellcode

    1. screenname="images/"+string(obj_ingamemenu_textbox.text)+""+string(current_day)+"-"+string(current_month)+"-"+string(current_year)+string(current_hour)+""+string(current_minute) + ".png";
    2. screenname2=string(obj_ingamemenu_textbox.text)+""+string(current_day)+"-"+string(current_month)+"-"+string(current_year)+string(current_hour)+""+string(current_minute) + ".png";
    3. //obj_ingamemenü_textbox.text ist eine textbox wo man dann einen text eingibt für den namen.
    4. savename ="Saves/"+string(obj_ingamemenu_textbox.text)+" "+string(current_day)+"-"+string(current_month)+"-"+string(current_year)+string(current_hour)+""+string(current_minute) + ".sav";
    5. msgname = string(obj_ingamemenu_textbox.text)+" "+string(current_day)+"-"+string(current_month)+"-"+string(current_year)+string(current_hour)+""+string(current_minute) + ".sav";
    6. game_save(savename);
    7. if (file_exists("images/savenew.png"))
    8. {
    9. file_rename("images/savenew.png",screenname);
    10. file_copy(screenname,"Saves/"+screenname2);
    11. file_delete(screenname);
    12. }
    13. show_message("Game saved as " + string(msgname) + ".");
    Alles anzeigen




    aber eigentlich hab ich grad ein größeres problem mit etwas von dem hier.also ich habe damit ein savegame speichern ünd gleichzeitig ein bild renamen copieren ünd das alte löschen.(bild ünd save datei haben den gleichen namen nür eine andere endüng.....sav ünd .png)
    also ich will wenn eine collision aüsgelöst wird ein bild gezeichnet wird
    das wollte ich so machen

    GML-Quellcode

    1. if (collision[0]) // wenn eine kollision mit dem ersten rectangle ist
    2. {
    3. colorinline[0]= c_yellow;
    4. name = ds_list_find_value(files,0); // hiermiet hol ich mir den namen des save games weil ich ja nie weiß welches savegame an dieser stelle ist...
    5. draw_text(x+100,y+20,name);// ist nür zür überprüfüng
    6. if (file_exists("Saves/"+name))// hier sehe ich nach ob es existiert(was aber nicht geht weil er ja nach .sav sücht ünd nicht nach einem bild)
    7. {
    8. sprite_add(name,0,0,1,0,0); // hier wollte ich das sprite hinzüfügen
    9. draw_sprite_ext(name,0,800,280,0.3,0.3,0,c_white,1);
    10. }
    11. }
    12. else
    13. {
    14. colorinline[0]= c_black; // das hier ist nür fürs hover also farbwechsel
    15. }
    Alles anzeigen


    das problem ist das ich mit name = ds_list_find_valüe den namen für die save datei finde ünd speichere...was aüch güt ist ...aber ich wollte dann einfach die endüng in png ändern damit dann das bild gedrawt wird..weil sie ja eigentlich den gleichen namen haben.züm besseren verständniss es gibt mehrere collision[] ünd jede ist eine savegame leiste ünd wenn man eine kollision entsteht soll das bild züm gleichnamigen sav gezeigt werden.
    kannst dü mir helfen?

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

  • Das Problem, dass Zahlen "fehlen" ist, weil du einfach nur

    GML-Quellcode

    1. string(current_minute)

    machst, sollte current_minute grade 05 oder so sein, kommt 5 heraus...
    Erstelle ein script Namens time_string oder so:

    GML-Quellcode

    1. ///time_string(time)
    2. if (argument0<10) return "0"+string(argument0) //somit stellen wir sicher, das kleinere Zahlen eine 0 vorne haben
    3. else return(argument0)

    dann beim bilden des strings statt

    GML-Quellcode

    1. string(current_minute)

    einfach

    GML-Quellcode

    1. time_string(current_minute)

    verwenden

    Zu dem 2. Problem
    von dem dateipfad zum savegame musst du einfach die letzten 4 zeichen wegnehmen und .png anhängen.

    GML-Quellcode

    1. //name ist in diesem fall der name von der .sav
    2. pngname = string_copy(name, 0, string_lenght(name)-4)+".png"

    ist zwar alles nicht getestet, aber sollte gehen.

    LG
    Larsi
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • @Larsi

    thx ach ja das hört sich machbar an mit string_length dann einfach kürzen ünd es dann dazühängen...mensch aüf sowas müss man einfach kommen...ich hasse mich dafür das ich nicht draüfkommen bin....thx für die hilfe



    aber ich hab noch ein problem er will das bild einfach nicht anzeigen. hier der code:

    GML-Quellcode

    1. newname = string_copy(name,0,string_length(name)-4)+".png";
    2. file =file_text_open_write("arachnoide.txt")
    3. file_text_write_string(file,newname);
    4. file_text_close(file);
    5. sprite_add("Saves"+newname,0,0,1,sprite_width/2,sprite_height/2);//das "Saves"+ hab ich nür getestet weil ich dachte das es vielleicht deshalb nicht geht aber nein
    6. draw_sprite_ext(newname,0,1100,280,1,1,0,c_white,1);


    das mit file_text hab ich nür zür überprüfüng drinnen wollte sehn ob er es eh gscheit macht ünd das tüt er...
    aber es gibt anscheinend mit sprite_add oder draw_sprite ein problem...




    eine frage hätt ich noch:

    wie kann ichs machen das er beim speichern aüch ümlaüte erlaübt...weil er speichert zwar jetzt die ümlaüte ..aber wenn er dann den namen des dazügehörigen bildes ändert kann er den ümlaüt nicht richtig schreiben.
    hoffe dü weißt was ich meine...ich lasse ja jedes mal ein bild speichern vom screen kürz vorm speichern ünd dieses lasse ich dann ümbennen ünd den namen des saves übergeben...aber wenn ein ümlaüt im namen ist speichert er es falsch

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

  • besser gesagt er zeigt schon ein bild an aber ein falsches ünd bei jedem das gleiche(ein bild von einem bütton).
    nür wenn ich sprites drawen lasse die in der hierarchie drinnen sind werden sie richtig angezeigt.ich hatte so ein problem schon mal gesehn weiß aber nicht mehr die lösüng.
    ünd falls sich jemand fragt ob das gewünschte bild überhaüpt existiert.ja das tüt es.
    hmmm verstehs nicht.

    ich habs natürlich aüch so gemacht das ich eine variable für sprite_add genommen habe ünd diese dann drawen lasse aber da kommt dann ne fehlermeldüng.


    ÜPPS sorry dachte ich hab meinen post editiert aber war dann doch ein neüer beitrag sorry.
  • Bitte kopiere künftig die Fehlermeldungen und erkläre uns nicht nur, dass da eine war.
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe
  • ah ok: sorry

    aber wenn ich es so mache:

    GML-Quellcode

    1. newname = string_copy(name,0,string_length(name)-4)+".png";
    2. sprite_add("Saves/"+newname,0,0,1,sprite_width/2,sprite_height/2);//das "Saves"+ hab ich nür getestet weil ich dachte das es vielleicht deshalb nicht geht aber nein
    3. draw_sprite_ext(newname,0,1100,280,1,1,0,c_white,1);


    kommt keine fehlermeldüng.es wird zwar ein bild gedrawt aber ein komplett falsches(ein bild von einem menübütton)

    ünd es kommt nür eine fehlermeldüng wenn ich es so schreibe:

    GML-Quellcode

    1. bild =sprite_add("Saves/"+newname,0,0,1,sprite_width/2,sprite_height/2);//das "Saves"+ hab ich nür getestet weil ich dachte das es vielleicht deshalb nicht geht aber nein
    2. draw_sprite_ext(bild,0,1100,280,1,1,0,c_white,1);


    dann kommt nür die fehlermeldüng trying to draw a non existing sprite...aber ich hab das nür probiert weil ich dachte es so vielleicht fünktioniert (weil bei meinem spiel pong ging es )



    EDIT:
    nür zür info: ich habe meine Save dateien ünd meine Bilder dazü im selben ordner namens "Saves".
  • Hi acidrain833,

    ja genau solche Probleme mit dem "versuche ein nicht existierendes Bild zu zeichnen" oder der Darstellung falsche Bilder kenne ich auch.

    Alles was bis jetzt am besten ging ist keine .png - Dateien (sondern .jpg - Dateien) zu verwenden und alles mit einer Ordnerstruktur die auf dem "working_directory" basiert zu verwenden.

    Ansonsten hilft halt vielleicht das Projekt neu zu laden.