backgorund index

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

  • backgorund index

    Hallo,
    folgendes habe ich gemacht:

    GML-Quellcode

    1. globalvar tex_road;
    2. globalvar tex_curve_small;
    3. tex_road = background_add('textures\tex_road.png' ,true,false,false);
    4. tex_curve_small = background_add('textures\tex_curve_small.png' ,true,false,false);
    Die Funktion background_add liefert ja einen Index zurück, den ich in den variablen tex_* speichere.
    nun möchte ich das diese backgrounds als textur gültig sind. mit

    GML-Quellcode

    1. background_get_texture();
    geht es nicht, da man dort den namen des background eintragen muss, und nicht dessen index.

    GML-Quellcode

    1. background_get_name(tex_...)
    kann ich auch nicht anwenden, da ich ja keinen namen deklarieren kann.

    wie also eine textur deklarieren?
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Eigentlich sollte

    GML-Quellcode

    1. background_get_texture(tex_road);
    ohne Probleme funktionieren, da der Backgroundname (z.B. bg_sky) einfach eine Konstante ist, die den Backgroundindex enthält. Somit kannst du auch einfach ne Variable angeben, die diesen Index enthält.

    Dragoon
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!
  • GML-Quellcode

    1. textur_id=background_get_texture(background_id);


    GML-Quellcode

    1. globalvar bg_road, tex_road, bg_curve_small, tex_curve_small;
    2. bg_road = background_add('textures\tex_road.png',true,false,false);
    3. bg_curve_small = background_add('textures\tex_curve_small.png',true,false,false);
    4. tex_road=background_get_texture(bg_road);
    5. tex_curve_small=background_get_texture(bg_surve_small);


    So müsste das funktionieren. Habe das mal anhand der Erklärung in der Hilfe zu den entsprechenden Funktionen zusammengezimmert.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • nun ja, das ist wieder genau das gleiche was Dragoon gemeint hat. Mit dem Unterschied das du die Textur in eine variable speicherst. ich habe direkt im d3d_draw_model() den background zur Textur gemacht.
    klappt also leider immer noch nicht.

    doch ich habe mir anders geholfen.
    ich habe erst jeden background im gm erstellt, jedoch leer gelassen.
    dann bin ich über background_replace gegangen. ist zwar nicht das was ich haben wollte, da ich nun sehr viele background in der liste habe, aber es geht.

    Ich markier erstmal als gelöst, falls jemand eine andere Lösung kennt, bitte trotzdem posten.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • hier mal ein script aus Battle Command:

    GML-Quellcode

    1. path=temp_directory+'\backgrounds\';
    2. index=0;
    3. repeat (1000)
    4. {
    5. if background_exists(index)
    6. {
    7. name=background_get_name(index);
    8. file=file_find_first(path+string(name)+'.*',noone);
    9. if file!=''
    10. {if background_replace(index,path+file,false,true,false) {found_backgrounds+=1;}}
    11. file_find_close();
    12. }
    13. index+=1;
    14. }
    Alles anzeigen

    es durchwühlt einen ordner (path) nach backgrounds, die den selben namen haben wie die in der GM datei und läd sie nach. Ich habs jetzt nicht umgebaut, aber es macht aus dem index (also der nummer) den entsprechenden String...
    Könnte man ja villeicht umdrehen oder einfach alle dateien nachladen lassen.

    vielleicht funzt ja auch sowas:

    GML-Quellcode

    1. text_road = background_get_texture(background_add('textures\tex_road.png',true,false,false));

    .. denn warum den background mitspeichen? benötigst du den noch als background? und warum erst (und immer wieder) im draw event eine textur daraus machen, es ist doch eine statische textur oder?
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x