Draw Sprite Vertex Problem

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

  • Draw Sprite Vertex Problem

    Hey,

    ich habe ein seltsams Problem mit dem Zeichnen von Sprites. Alle normalen Drawfunktionen wie draw_sprite, draw_sprite_part, ... funktionieren ohne Probleme, benutze ich aber beispielsweise draw_sprite_pos wird das Sprite verzerrt dargestellt, obwohl die 4 Ecken richtig bestimmt sind. Nach voller Verzweiflung und vieler Veränderungen habe ich es direkt mit Vertexten versucht:

    GML-Quellcode

    1. var tex = sprite_get_texture(s_flower1,-1)
    2. draw_primitive_begin_texture(pr_trianglestrip, tex)
    3. draw_vertex_texture(x, y, 0, 0)
    4. draw_vertex_texture(x+32, y, 1, 0)
    5. draw_vertex_texture(x, y+32, 0, 1)
    6. draw_vertex_texture(x+32, y+32, 1, 1)
    7. draw_primitive_end()

    Jedoch das selbe Problem. Was kann ich da machen?

    Bild: So wie das untere Sprite sollte die "Blume" eigentlich aussen.
    Bilder
    • Blume.png

      604 Byte, 89×126, 244 mal angesehen
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.

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

  • Das kommt daher, dass die Textur auf das gesamte Polygon gezeichnet wird. D.h. wenn dein Polygon breiter ist als dein sprite, dann wird es eben gestreckt. Du kannst vorher die Abmessungen des Sprites abfragen und daran dann die größe des Polygons bestimmen. Falls du ein Codebeispiel brauchst musst du dich allerdings bis morgen gedulden ;)
  • So, ich hab das mal angeschaut. Es liegt meines Erachtens nach an der Transparenz in deinem Sprite. GameMaker: Studio entfernt diese aus der Textur um Speicher zu sparen. Du kannst das umgehen, indem du in den Properties deiner Sprites "Use for 3D" aktivierst.