Allegro Problem mit Bilder spieglen und Input



  • Hi,

    Ich bin vor kurzem von DirectDraw auf Allegro umgestiegen und hab 2 Probleme damit.

    1: Ich will Bilder aus einem Streifen gespiegelt anzeigen.
    Die Funktion draw_sprite_h_flip kann Bilder nicht aus einem Streifen anzeigen.
    blit dagegen kann nicht gespiegelt anzeigen.
    Ich machs bis jetzt so, dass ich die Bilder aus dem Streifen in einzelne neue Bilder blitte und dann die einzelnen Bilder mit draw_sprite_h_flip anzeig.
    Da ich aber viele Bilder hab ( ca. 20 Streifen ) mit sehr variablen Größen, ist diese Methode recht umständlich und performance verschlechternd.
    Kennt jemand dafür eine besser Lösung?

    2: Bei meinem Allegro Spiel funktioniert manchmal der Input von Anfang an nicht.
    Weil ich kein Fenster erstell, lässt sich das Spiel nicht minimieren und es bleibt einem nur noch Neustarten.
    Woran kann das liegen?

    Danke im voraus für eure Antworten,
    Gap



  • *push*

    Keiner eine Idee?



  • Schonmal dran gedacht die Bilder zu transformieren ? Das heisst die dimensionen austauschen, dein bild ist 20 pixel hoch und dann machst du es -20 und somit hast du es horizontal(?) gespiegelt.

    Input... mhh, denke nicht das das am Input liegt wenn auch Strg+Alt+Entf nicht mehr hilft, vielleicht hast du ein problem mit dem Aquire'n vom Input device, weiss nicht wie allegro das handelt.



  • Also das Input Problem hab ich behoben.

    Schonmal dran gedacht die Bilder zu transformieren ? Das heisst die dimensionen austauschen, dein bild ist 20 pixel hoch und dann machst du es -20 und somit hast du es horizontal(?) gespiegelt.

    Das funktioniert leider nicht hab ich auch schon probiert...



  • Nimm Inline ASM und ordne den Speicher in dem das Bild ist neu an...
    Ansonsten fällt mir jetzt nichts ein...
    Vielleicht einfach mal die Funktion(draw_sprite_h_flip) ansehen und sich daraus selber eine Funktion schreiben.



  • Gap schrieb:

    Ich machs bis jetzt so, dass ich die Bilder aus dem Streifen in einzelne neue Bilder blitte und dann die einzelnen Bilder mit draw_sprite_h_flip anzeig.
    Da ich aber viele Bilder hab ( ca. 20 Streifen ) mit sehr variablen Größen, ist diese Methode recht umständlich und performance verschlechternd.

    Wieso? Bruachst du doch nur einmal machen (also schnell) und einmal programmieren (also einfach).

    Oder du machst einfach in deiner IDE unter Einstellung den Haken bei "gespiegelte Bilder" an...

    Bye, TGGC (Das Eine, welches ist.)


Anmelden zum Antworten