Partikel als Blut, wenn Schuss auf Gegner trifft sollen beim Gegner einige Blut-Partikel erstellt werden. Wie geht das?

  • GM 8

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

  • Partikel als Blut, wenn Schuss auf Gegner trifft sollen beim Gegner einige Blut-Partikel erstellt werden. Wie geht das?

    Kann mir jemand einen Code geben mit dem ich beim Gegner Blut-Partikel (rote Pixel) entstehen lassen kann wenn er getroffen wird.
    Am genialsten wärs wenn die auch auf soliden Objekten liegen bleiben können.

    Ich kriegs irgendwie nicht hin, hab schon n Partikelsystem und alles erstellt aber es passiert nichts.
    Liegts vll daran dass es ja mehrere dieser Gegner gibt?

    lg. Pac
    danke schonmal.
    Bitte gibt mir mal eine Schnelleinfhrung in die Partielwelt mit der GML.
    SO richtig kann ichs ja anscheinend immernoch nicht :gmlove:
    Sorm ist Schuld

    Edit: Doch ist er
  • Wenns um Blutspritzer geht, die am Spieler über all haften sollen. Dann kannst das am besten mit Surface machen. Als GML Anfänger noch etwas schwer, aber man lernt am bestern wenn man selber macht.
    Das ist schon was größeres um dir ein Beispiel zusammen zu basteln.
    Aber zum Glück geht das im Game Maker eig. ganz einfach. Ließ dir doch einfach mal die Hilfedatei durch. Über Surface. Wenns nicht englisch sein soll, findest du hier detusche Hilfefiles. (Siehe oben hier im Forum).
    Surfaces sind nichts anderes als den Raum in dem du zeichnest (sprites, etc).

    bzw (Pseudocode):
    sf = surface_create(w,h);
    surface_set_target(sf);
    draw_clear_alpha(0,0); // Wichtig um den Inhalt u säubern. ...
    draw_sprite(spr_player,0,x,y);
    for () {draw_sprites(spr_blut,i,xx,yy);}
    surface_target_reset();

    // Im Draw Event
    draw_surface(x,y);

    Merke:
    Jede Surface hat ihr eigenes Koordinatensystem.
    Beginnt also immer bei Null.
    Wenn deine Surface 64x64 groß ist, und dein spieler auf position 480x210 oder so ist, dann wird er nicht in der surface gezeichnet.
    Aber da kannst die Position einfach relative abziehen.

    ...

    Warum Surface?
    Deshalb:
    Als eigene "Oberfläche" kann mein seine eigene Umgebung mit Effekten einschließlich transparents zeichnen.
    So kann man auch Grafikiken formen / abschneiden / boolen / etc. Und später als fertige Grafik zeichnen. (draw_surface)
    Eine Rolle werden auch draw_set_blend_mode_ext spielen. Um zb. zu boolen, etc.
    Bilder
    • Surface_sample.jpg

      26,87 kB, 603×471, 209 mal angesehen

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