sprite_create_from_surface

  • sprite_create_from_surface

    Guten Morgen euch allen.
    Ich hab ein Problem mit der obengennanten Funktion.
    Undzwar ist der Boden zerstörbar. Mit der besagten Funktion bewerkstellige ich das.
    Nun bleibt aber immer so ein unschöner Rand da.. Je öfter ich dann das Objekt "zerstöre" desto weniger Rand, aber dennoch ist der da.
    Vermutlich, weil der Rand der Sprites ein wenig transparent gezeichnet wird oder so...

    Hat jemand eine Idee, wieso das so ist und weiß auch eine Lösung?!
    Ein kleines Bild zur Veranschaulichung:
    (das Grün (c_lime) ist die transparente Farbe der Sprites. Ebenfalls benutze ich den Code draw_clear(c_lime))

    -.- vergeblichst versucht irgendetwas hochzuladen, aber tut sich nichts. Hier nicht, bei imageshack auch nicht.. nirgends:-/
    Ich hoffe, es versteht trotzdem jemand das Problem. Werde es später nochmal versuchen.
  • Ich rekapituliere also:
    Du hast ein Problem mit einem Code, gibst aber weder Bild (wofür du im Moment nichts kannst) noch den betreffenden Code preis.
    Wie stellst du dir das bitte vor?
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Oh ja.. Den Code:
    Sorry, hatte ich vergessen, weil ich mich hier leicht aufgeregt hab.

    Also dieses Script wird im Create-Event vom Objekt loch ausgeführt.
    Argument0 ist die id des "loches".

    GML-Quellcode

    1. var ot;
    2. ot=argument0
    3. with(land)
    4. if place_meeting(x,y,ot)
    5. {
    6. surf=surface_create(sprite_get_width(sprite_index),sprite_get_height(sprite_index))
    7. surface_set_target(surf)
    8. draw_clear(c_lime)
    9. draw_sprite(sprite_index,image_single,0,0)
    10. draw_sprite(ot.sprite_index,ot.image_single,ot.x-x,ot.y-y)
    11. sprite_index=sprite_create_from_surface(surf,0,0,surface_get_width(surf),surface_get_height(surf),1,1,1,1,0,0)
    12. surface_reset_target()
    13. surface_free(surf)
    14. }
    15. with ot instance_destroy()
    Alles anzeigen


    PS.: Konnte nun das Bild hochladen.
    Bilder
    • problem.jpg

      68,54 kB, 243×202, 140 mal angesehen

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

  • Bei zu großen Surfacen kommen ganz komische Fehler. Wie bei dem "zerstörbare Landschaft"-Tutorial. Da ist auch eine Variante mit Surfaces. Deshalb hab ich nun überlegt, wie ich es mit kleinen machen kann... und so läuft das Spiel auch ganz flüssig. Aber irgendwodran muss das ja liegen, dass da so der Rand ist..
  • Benutzer online 1

    1 Besucher