Noch 'n Partikel-Problem

  • GM 8
  • Noch 'n Partikel-Problem

    Morgen zusammen,
    Also ich wollte eine Art "Nova" mit dem Partikel-System machen. Per D&D funzt es ja ganz gut, wollte dann dasselbe in ein Script setzen, weil da brauche ich es. Aber ich muß irgendwo einen Fehler gemacht haben, ich finde ihn aber nicht. Vielleicht kann jemand helfen?

    Das (merkwürdige) Problem ist, daß das Script etwas anderes macht, wenn es zuerst aufgerufen wird, als wenn es nach einem anderen PS aufgerufen wird. Und dann nimmt es auch die falschen Farben. Deshalb hab ich mal ein Beispiel drangehängt, das das veranschaulicht. Eigentlich sollten beide Objekte das gleiche auslösen, nur einmal mit rot und einmal mit grün. Aber schaut Euch das mal an...

    a) warum macht Obj2, wenn es ZUERST aufgerufen wird, etwas ganz anderes??
    b) warum nimmt Obj2, wenn es als letztes aufgerufen wird, die Farben von Obj.1?

    Eigentlich wollte ich ja nur das, was in Obj1 steht, in ein Script umwandeln, aber es macht nicht das, was es machen soll...

    Hier die Datei: particle_test.zip

    Für diejenigen, die gleich das Script sehen wollen, hier der Code:

    GML-Quellcode

    1. system_1 = part_system_create();
    2. part_system_depth(system_1,-10);
    3. pt1 = part_type_create();
    4. part_type_shape(pt1,pt_shape_flare);
    5. part_type_size(pt1,3,30,1,0);
    6. part_type_color_mix(pt1,65408,65535);
    7. part_type_alpha2(pt1,1,0.2);
    8. part_type_life(pt1,10,30);
    9. emitter_1 = part_emitter_create(system_1);
    10. part_emitter_region(system_1,emitter_1,x,x+30,y,y+30,pt_shape_disk,0);
    11. part_emitter_burst(system_1,emitter_1,0,10);
    Alles anzeigen
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • Hi Archie,
    also der Script müsste so aussehen:

    GML-Quellcode

    1. system_1 = part_system_create();
    2. part_system_depth(system_1,-10);
    3. pt1 = part_type_create();
    4. part_type_shape(pt1,pt_shape_flare);
    5. part_type_size(pt1,1,5,0.5,0);//Die Größe war bei dir zu groß und das Wachstum auch
    6. part_type_color_mix(pt1,c_red,c_yellow);//Hier war die Farbe bei dir falsch
    7. part_type_alpha2(pt1,1,0.2);
    8. part_type_life(pt1,10,30);
    9. emitter_1 = part_emitter_create(system_1);
    10. part_emitter_region(system_1,emitter_1,x,x,y,y,pt_shape_disk,0);
    11. part_emitter_burst(system_1,emitter_1,0,10);
    Alles anzeigen

    Und setz im Create-Event von Object2 eine variable system_1 = noone und frag im Mouse-Click-Event ab ob das Partikel-System system_1 existiert, wenn das der Fall sein sollte, dann zerstör das Pt-System und für danach deinen Script aus ;).

    Habs nochma für dich hochgeladen: particle_test_renew.zip

    Albert Einstein schrieb:

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
  • Hi Trixt0r,
    thx für die Antwort. Das mit der Farbe nehme ich jetzt mal als Gag hin, das war ja Absicht... :rolleyes:

    Trixt0r schrieb:

    Und setz im Create-Event von Object2 eine variable system_1 = noone und frag im Mouse-Click-Event ab ob das Partikel-System system_1 existiert, wenn das der Fall sein sollte, dann zerstör das Pt-System und für danach deinen Script aus
    Aber das hier, das wird der Fehler sein. Ich hab gar nicht abgefragt, ob da vielleicht schon ein Partikel-System existiert. Und demzufolge natürlich auch nix zerstört. Das hilft erst mal weiter, danke schön.
    Archie
    Signatur? Ich überlege mir noch eine. Die besten sind ja schon alle vergeben... :para:
  • Benutzer online 1

    1 Besucher