Locale Partikel-systeme

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

  • Locale Partikel-systeme

    Servus!

    Ich brauche im GM6 sozusagen für je eine Instanz eines Objectes ein "lokales" Partikelsystem. Ich bekomme es aber einfach nicht hin dieses per Code zu erstellen!Bzw. erstellen schon auch die Emitter und Partycle Types hab ich schon alle erstellt und es gibt sie auch aber es tut sich im Game von dem Ganzen ps einfach garnichts (hab im Step event den doastep und im draw den system_draw befehl drin, aber trozdem).

    auf jeden Fall hab ich die per-Code-Variante jetzt aufgegeben und frage mich ob es möglich ist ohne Code, also mit der Zusammenklick-Methode, für jede der Instanzen beim Create-Event ein eigenes kleines ps zu erstellen, welches dann beim zerstöören der Instanz zerstört wird.

    Momentan hab ich es mit der Zusammenklick-Variante zwar geschafft, dass es bei EINER Instanz so ist wie ich es will, sobald aber MEHRERE Instanzen dieses Objectes gleichzeitig da sind, funktioniert es natürlich nicht mehr, weil sich die Befehle (vermute ich mal) auf ein und das selbe ps beziehen, welches dann aber bereits einer anderen Instanz "gehört".

    Momentan hab ich für das Objekt Folgendes:

    Information about object: obj_soul

    Sprite: spr_body_to_soul
    Solid: false
    Visible: true
    Depth: 1
    Persistent: false
    Parent: <no parent>
    Mask: <same as sprite>

    Create Event:
    execute code:

    image_speed=0.2;

    create particle system at drawing depth 2
    create particle type 0 to have shape disk, size between 2 and 4, and color going from 65280 to 16777215
    set the life time for particle type 0 to lie between 10 and 20
    set the speed for particle type 0 to lie between 1 and 2, the direction between 0 and 359, and the friction to 0
    create emitter 0 with shape rectangle of area x - x by y - y
    continuously stream 10 particles of type 0 from emitter 0

    Begin Step Event:
    create emitter 0 with shape rectangle of area x - x by y - y

    Collision Event with object obj_mileena:
    execute code:

    if(sprite_index==spr_soul)
    {
    instance_destroy();
    }

    if expression sprite_index==spr_soul is true
    destroy emitter 0
    clear all particles in the system
    destroy the particle system

    !! Danke, für Eure immerwieder geniale Hilfe !!!

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

  • irgedwie werde ich aus den object informationen nicht richtig schlau.
    aber ich glaube deine particelsysteme haben alle die selbe ID und machst du eins weg sind sie alle hinnef.
    nebenbei verlieren particelsysteme ihren sinn, wenn du für jedes ein eigenes object erstellt.
    Battle Command - WeltraumEchtzeitStrategie | Meine GM Spiele auf Box.net
    GCM/FA/O d-(--)@>---xpu s-:- !a C++$@ U- P L+ E W++ N o K-- w++ O? M V PS PE-- Y PGP t 5 X R+++ tv+ b DI D G e+ h? r-- x
  • Win hat recht, du brauchst nur ein Partikelsystem, aber warum erstellst du für Jede Instanz nich in einer lokalen Variable einfach einen Emitter?
    Wenn alle instanzen die gleichen Partikel abgeben sollen, brauchst du sogar neu einen Partikelityp...
  • Neues Problem: (das wollt ich auch schon länger mal fragen):

    Wenn ich jetzt das Partikel-System durch Zusammenklick-Methode erstellt habe, will aber nun zb. einen Particle-Typ oder einen Emitter per code erstellen, dann muss ich ja als Argument das ps angeben, zb. bei part_emitter_create(ps) - nun hab ich das Part-System jedoch wie erwähnt nicht per code erstellt, und was kann ich da jetzt angeben?

    Ich meine, ist das zusammengeklickte Partikel-System trotzdem in einer Variablen gespeichert auf die ich zugreifen kann oder gibt es eine Funktion die mir eben diesen Namn zurückliefert?

    Oder andersrum: Hab ich grad ma ausprobiert: Es funktioniert auch nicht, wenn ich (war nur mal so zum Testen) jetzt bein nem Create Event folgendes habe:

    [code]Create Event:

    execute code:

    image_speed=0.2;
    alarm[0]=250;
    soul_ps=part_system_create();
    //Ich kreiere das ps per Code, so dass s in einer Variable (soul_ps) gespeichert wird.


    create particle type 0 to have shape disk, size between 2 and 4, and color going from 65280 to 16777215
    set the life time for particle type 0 to lie between 10 and 20
    set the speed for particle type 0 to lie between 1 and 2, the direction between 0 and 359, and the friction to 0
    create emitter 0 with shape rectangle of area x - x by y - y
    continuously stream 10 particles of type 0 from emitter 0
    //Den Rest des ps-Systems mache ich per Zusammenklicken[//code]

    Aber nun bringt der GM wie ich bereits erwartet habe beim 2. Befehl ("create particle type...") die Fehlermeldung, dass ich zuerst ein ps erstellen muss.

    Kann es sein dass s garnicht möglich ist von einem Partikel-System einen Teil zusammenzuklicken und den anderen per Code zu schreiben, funktioniert das nich zusammen bei einem ps?

    :ugly: Ohje, ich hoffe hier blickt noch irgendjemand von euch durch, was ich überhaupt will :ugly:

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