Heft blättern

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

  • Heft blättern

    Was mich schon länger interessiert: Wie bekomme ich im GM den Blättereffekt hin?
    Hier ist ein Beispiel.
    Wie sieht der Code aus? Fällt jemand spontan was ein?
    MFG

    PS: Es was nicht meine Absicht Werbung hier einzubringen. Es dient nur zur veranschauung des "Blättereffekts". Und wer kennt MediaMarkt nicht ... ;-)
    57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20

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

  • In deinem Beispiel ist es ziemlich einfach umgesetzt - da sind keine Bögen, sondern nur harte Kanten. Auf Anhieb kann ich dir da auch nur sagen, dass das fast schon mit den normalen Zeichenfunktionen des GM möglich sein dürfte. Du kannst Grafiken drehen, nur bestimmte Ausschnitte zeichnen, skalieren, usw.

    Wenn ich es mir genauer überlege, dürfte es problematisch sein, da es keine parallelen Schnitte sind. Hmm, müsste man einfach mal ausprobieren. Mit Surfaces ist es auf jeden Fall zu machen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Ich hab da was. Leider kann ich nichts uploaden, aber der Code ist so knapp... naja sieh selbst:

    GML-Quellcode

    1. // draw_sprite_stretched_2(sprite,subimage,x1,y1,x2,y2,x3,y3,x4,y4)
    2. o_1_x1_1_o=argument2
    3. o_1_x2_1_o=argument4
    4. o_1_x3_1_o=argument6
    5. o_1_x4_1_o=argument8
    6. o_1_y1_1_o=argument3
    7. o_1_y2_1_o=argument5
    8. o_1_y3_1_o=argument7
    9. o_1_y4_1_o=argument9
    10. o_1_tex_1_o=sprite_get_texture(argument0,argument1)
    11. draw_primitive_begin_texture(pr_trianglefan,o_1_tex_1_o)//draw_primitive_begin(pr_trianglefan)
    12. draw_vertex_texture_color(o_1_x1_1_o,o_1_y1_1_o,0,0,-1,1)
    13. draw_vertex_texture_color(o_1_x2_1_o,o_1_y2_1_o,1,0,-1,1)
    14. draw_vertex_texture_color(o_1_x3_1_o,o_1_y3_1_o,1,1,-1,1)
    15. draw_vertex_texture_color(o_1_x4_1_o,o_1_y4_1_o,0,1,-1,1)
    16. draw_primitive_end()
    Alles anzeigen


    Wie Du siehst, handelt es sich um ein Skript, das diverse Variablen verwendet.
    Deshalb gebe ich Dir noch das hier mit, als draw-code:

    GML-Quellcode

    1. if keyboard_check(vk_left) roll-=.125
    2. if keyboard_check(vk_right) roll+=.125
    3. if keyboard_check(vk_up) pitch+=.125
    4. if keyboard_check(vk_down) pitch-=.125
    5. x1=x-32 + pitch-roll
    6. y1=y-32 + roll+pitch
    7. x2=x+32 - pitch+roll
    8. y2=y-32 + roll-pitch
    9. x3=x+32 - pitch-roll
    10. y3=y+32 - roll+pitch
    11. x4=x-32 + pitch+roll
    12. y4=y+32 - roll-pitch
    13. draw_sprite_stretched_2(sprite_index,image_index,x1,y1,x2,y2,x3,y3,x4,y4)
    Alles anzeigen


    Die Werte gelten für ein Sprite mit 64x64 Pixel. Offset ist egal.
    Alles bis auf die letzte Zeile gehört natürlich eigentlich nicht ins Draw--Event, aber zum testen gehts auch so.

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

  • Danke für die Mühe Melancor. Aber ich besitze nicht den GM7.
    Daher ist mir "draw_sprite_stretched_2(sprite_index,image_index,x1,y1,x2,y2,x3,y3,x4,y4)" unbekannt.
    Edit: Ich bekomme das einfach nicht hin. PS: Wie könnte man Kurven einbringen? Wie bei so mancher Werbung die rechts-oben wie ein Papier herunterbaumelt.
    57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DanielGM61 ()

  • Nein...
    Du erstellst ein Script:
    "draw_sprite_stretched_2"
    Da kommt dann der erste Teil von Melancor rein.

    Und im draw-Event machst du dann den zweiten Teil.

    @Melancor:
    Irgendwie funktioniert das bei mir nicht., der Sprite verzieht sich irgendwie und da kommt dann so ein "Krüppel"-Sprite raus.
    Welchen Wert haben pitch und roll am Anfang?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tobi ()

  • Ich hab mich mal daran versucht sowas zum selber umblättern zu machen.
    Hier seht ihr das Ergebnis. Das könnte man noch verfeinern indem man noch Schattierungen hinzufügt.
    Vielleicht kann man das sogar als Anleitung in Buchform in einem Spiel unterbringen.
    Dateien
    • book.rar

      (323,32 kB, 213 mal heruntergeladen, zuletzt: )
  • Danke erstmal.

    @copyboy: Danke für den Hinweis mit dem Fehler, wo genau hast du hingeklickt damit der kam?
    Wegen dem Realismus: Was genau findest du daran schlecht? Bis auf die von mir schon erwähnten Schattierungen ist das doch eigentlich in Ordnung finde ich. Die Seiten blättern auch langsam um (zumindest bei mir ;))
  • Der Fehler kommt dann vor, wenn man blättert, mit der Maus rechts neben dem Blatt ist und auf der Höhe vom der unteren Blattseite. Ich habs auch schon wo anders gehabt ... egal, Hauptsache der Fehler kommt weg (wenn = 0 dann exit; - wenn man nämlich auf Ignore klickt gehts ganz normal weiter ^^).
    Das Blättern geht weich, aber die... ach wie sagt man das am besten... das Drehen der Seite ist nicht "weich".
  • ... Endlich, mein Rechner geht wieder .... So, ...

    DANKE!
    Genau so habe ich mir das vorgestellt.
    Ich habe mir den Code noch nicht angesehen. Aber man ist das geil.
    Bin sprachlos .... :)
    57 6F 77 2C 20 64 61 73 20 68 61 73 74 20 64 75 20 67 61 6E 7A 20 61 6C 6C 65 69 6E 20 67 65 73 63 68 61 66 66 74 2E 20
  • Benutzer online 2

    2 Besucher