Flamme/Fackel aus Partikeln

      Flamme/Fackel aus Partikeln

      Hi,
      Ich hab mal ein kleines Tut zu einer einfachen Flamme,die aus Partikeln besteht,erstellt.
      Hoffe es gefällt euch!

      GML-Quellcode

      1. //////////////////
      2. //Flammen Script//
      3. //By Zwiebelmann//
      4. //////////////////
      5. //Beschreibung//
      6. //Zuerst erstellst du ein Objekt (obj_flamme)
      7. //Dann kopierst diesen Code hier ins Createevent des Objektes
      8. //Danach kopierst du en unten stehenden Code ins Stepevent
      9. //Jetzt öffnest du den Roomeditor und platzierst das Objekt
      10. //Starte das Spiel
      11. {
      12. p_system =part_system_create() //Das Partikelsystem wird erstellt und auf der Variable p_system gespeichert//
      13. p_type =part_type_create() //Der Partikeltyp wird erstellt und auf der Variable p_type gespeichert//
      14. part_type_shape(p_type,pt_shape_pixel) //Hier wird der Typ des Partikelsystems festgelegt,in diesem fall auf Pixel//
      15. part_type_size(p_type,0,1,0.1,1) //Die größe des Partikel Typ's wird gesetzt,hierbei gibt es Maximale- und Minimale größe//
      16. part_type_color3(p_type,c_purple,make_color_rgb(250,130,0),c_red) //Hier wird die Farbe der Partikel gesetzt,Lila für den kleinen wärme effekt unten an der Flamme,ein Orange Ton für einen guten Übergang zu Rot//
      17. part_type_life(p_type,20,40) //Hier wird die Lebenszeit der Partikel gesetzt//
      18. part_type_speed(p_type,0.1,1,0.0.2,1) //Hier wird die Geschwindigkeit der Partikel gesetzt,für eine Lebendige Flamme :)//
      19. part_type_direction(p_type,80,100,0,1) //Hier wird dei Richtung der Flamme gesetzt,damit die auch nach oben steigt//
      20. part_type_blend(p_type,1) //Hier wird die Farbmischung auf 'additiv' gesetzt damit der Übergang sehr fein ist,um es zu testen könnt ihr die 1 gegen eine 0 austauschen//
      21. part_system_depth(p_system,-1) //Hier wird die Tiefe/Höhe der Partikel gesetzt damit die Flamme auch auf dem Stock ist//
      22. p_emitter =part_emitter_create(p_system) //Der Emitter wird ertsellt und auf der Variable p_emitter gespeichert//
      23. part_emitter_region(p_system,p_emitter,x,x+8,y,y,ps_shape_ellipse,ps_distr_linear) //Hier wird die Region der partikel bestimmt//
      24. part_emitter_stream(p_system,p_emitter,pt_shape_pixel,2) //Hier wird die Anzahl der Partikel die Pro Step erstellt werden sollen bestimmt//
      25. p_attractor =part_attractor_create(p_system) //Ein Attractor wird erstellt und auf der Variable p_attractor gespeichert//
      26. part_attractor_force(p_system,p_attractor,0.4,160,ps_force_linear,true) //Hier wird die Kraft und die Wirkung der Kraft auf einer bestimmten distanz gesetzt//
      27. }
      28. //Der Attractor ist nur eine Spielerei und kann einfach entfernt werden :)//

      GML-Quellcode

      1. part_attractor_position(p_system,p_attractor,mouse_x,mouse_y) //Hier wird die Attractor Position auf mouse_x,mouse_y gesetzt//

      as ist mein erstes Partikel-Werk/Tutorial, also erwartet nicht so was großes!
      Ob das Coding so effizient ist weiß ich nicht,sagt bescheid wenn es nicht so ist!
      Falls ihr es verwendet, bitte einen Credits eintrag!


      gm6*/gmk* hab ich extra nicht angehängt (c:

      Mfg zwiebelmann

      edit: Ein paar Tippfehler entfernt, G.O.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „zwiebelmann“ ()

      Ich finde es super, dass du ein Tutorial entwickelt hast. Allerdings solltest du es vielleicht etwas besser beschreiben. Die fortgeschritteneren User wissen natürlich, wie genau das funktioniert und benötigen deshalb eigentlich kein Tutorial. Aber für Newbies wäre es schon ganz gut, überhaupt zu wissen, in welche Events was gehört und wieso das auf diese Art funktioniert.

      Das, was ich auf dem Screen gesehen habe, sieht aber schonmal sehr anständig aus!
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
      Ich finde, dass du das gut hingekriegt hast (auch das mit dem ps_attractor). Nur finde ich, solltest du deinen Code besser strukturieren und darüber hinaus noch pt_shape_flare benutzen (dann musst du die Size aber ein bisschen runterstellen), weil das realistischer aussieht. Schließlich bestehen Flammen-"Funken" nicht aus Rauten. ;)

      Edit: @zwiebelmann: Du hast recht, das habe ich falsch geschrieben. ;)

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Critical“ ()

      Hey,
      Danke!
      hab noch den step code vergessen wo die Position des Attractors gesetzt wird. :/
      Danke Critical werd ich sofort einbauen!

      @Mauge : Danke!Ist es ausreichend kommentiert?
      @GO : :D
      @All :Kann es sein das es die Funktion (die Critical genannt hat ) im Gm6.1 nicht gibt?

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „zwiebelmann“ ()

      Ja, ich denke, so ist es eindeutiger. Gut gemacht!
      █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
      █████ ███████ ███ your █████ ████ government.
      Ich hab da noch ne frage, wie mach ich das, das das Feuer meiner maus folgt, oder die maus ist 8| .Und wie mach ich das, das ein belibiges object wenn es der Flamme zu nah kommt das es ebenfalls in Flamme aufgeht.
      Ich hab ausprobiert obe es mit if distance_to_object() funkt, funkt nicht.
      im step event:

      GML-Quellcode

      1. part_emitter_region(p_system,p_emitter,mouse_x,mouse_x+8,mouse_y,mouse_y,ps_shape_ellipse,ps_distr_linear)


      aber ist nicht grade speicherparend xD //und bitte den part_attractor_position von zwiebel entfernen!

      wenn du etwas verkohlen willst musst du; da die partikel keine collisions ereignisse erkennen; eine art eigene kollisionsabfrage machen also wenn das object sich einem bestimmten satz macht das dieses dann verkohlt oder im klartext,
      du nimmst 3 bounding boxes : //// gm-d.de/help/403_04_collision.html


      es gibt noch aufwändigere aber dann wird dein spiel nichtmehr laufen wegen geschwindigkeit unso xD

      EDIT: Edit gemacht x'D

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „benny1111200“ ()

      hab nur die command parameter übertragen aber den befehl vergessen x'D

      und da ich keinen spamm draus machen will hier nochma nee empfehlung von mir hört euch Maschendrahtzaun von Stefan Raab an xD
      damn das war ja schleichwerbung vergisst des geht lieber bei youtube ein paar lernvideos angugen oo
      oder knutscht mit euren freunden/freundinnen etc pp rum xD :sauf: :deal:

      E: so bessa? xD

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „benny1111200“ ()

      SPAM SPAM SPAM!!!!!!!

      benny, mit dem zusatz hast dus noch mehr zum Spam gemacht!!!!


      @zwiebelmann:

      Toll gemacht, einfach aber mit guter Wirkung. Gefällt mir echt sehr gut, kann man in einigen Bereichen gut verwenden ( wenn man in nem Game nen Fackelsprite braucht z.B.


      Hi coole tut aber was mach ich wenn ich die "Fackel" bewegen will?

      Mit part_system_position gehts nich weil da die Flamme sofort irgentwo rechts unterhalb von den sprites gezeichnet wird. Aber wie dann?



      PS: ich weiß wie alt der Thread ist (>743 Tage :D) aber meine Frage bezieht sich auf dieses Tut :)
      Ich will wie mein Opa im Schlaf sterben, nicht heulend und schreiend wie sein Beifahrer.





      I am a in the GM Quiz! :heul: :vogel:

      :gmlove:

      xD
      cool danke hat mir gut geholfen. Ich hab nämlich keine Ahnung von Partikeln und wollts einfach mal wissen. ^^
      ////////////////////////////////////////////////////////////////////////////////////////////////
      p_attractor =part_attractor_create(p_system) //Ein Attractor wird erstellt und auf der Variable p_attractor gespeichert//
      zeile 25 habe ich ein fehler -.-

      und der step event code kann ich nich nutzen auch fehler und rot -.-

      muss ich da noch was einbauen?
      Mein Game und meine seite: riataliaxeas.npage.de/

      Spoiler anzeigen
      Zeit zurückspulen, Tag-/Nacht-System, Begleiter mit Boni, Shop, Dungeon und Licht-/Schatteneffekte, 3D-Fake-Natur und mehr...Termin: Mitte 2016
      :!:
      so weit ich weiß gibt es den attractor nicht mehr in Studio
      Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
      Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

      Willst du mit mir auf Discord Chatten/Quatschen?
      Meine Husi's Tutorial Reihe
      das aber doff -.- wäre cool wen einer eine neue möglichkeit erschaffen könnte die den selben efect erzielt.
      Mein Game und meine seite: riataliaxeas.npage.de/

      Spoiler anzeigen
      Zeit zurückspulen, Tag-/Nacht-System, Begleiter mit Boni, Shop, Dungeon und Licht-/Schatteneffekte, 3D-Fake-Natur und mehr...Termin: Mitte 2016
      :!: