Partikel Depth failt

  • GM 8
  • Partikel Depth failt

    Heyho Heyho liebe GM-communitiy!

    ich hab mehrere partikelsysteme, mit verschiedener depth.
    als Bsp. zu meinem Problem:

    object depth = 0
    system_1 depth = -2
    system_2 depth = -1
    aber trotzdem ist, wenn ich das spiel starte, system_1 hinter system_2 ?!?
    mache ich was falsch? liegt das an der depth vom object? oder liegt es an der position im code an der ich es schreibe?

    freue mich über jede hilfe, wenn ichs ausführlicher erklären, oder euch die codes zeigen soll, bitte sagen!
  • ok, hier:

    CREATE EVENT

    GML-Quellcode

    1. // NORMAL FEUER 2 wird erstellt, wenn "type_1" stirbt, da ich sonst keine andere möglichkeit gefunden habe.
    2. //weil ich wills nämlich so haben: kleine partikel kommen aus kleinem "loch",
    3. //werden größer,aber dann müssen sie wieder kleiner werden und aufsteigen...
    4. //hab stundenlang rumprobiert wie ich das machen könnte, dies hätte den gewünschten effekt,
    5. //wenn system_4 im hintergrund wäre...
    6. system_4=part_system_create();
    7. part_system_depth(system_4,-1);
    8. system_4=part_type_create();
    9. part_type_sprite(system_4,sprFire,0,0,3);
    10. part_type_size(system_4,0.05,0.06,-0.003,0);
    11. part_type_blend(system_4,0)
    12. part_type_color2(system_4,21503,51)
    13. part_type_alpha1(system_4,1)
    14. part_type_life(system_4,14,14);
    15. part_type_speed(system_4,2.5,3.3,0,0);
    16. part_type_direction(system_4,268,272,0,0)
    17. part_type_gravity(system_4,0.12,90);
    18. part_type_orientation(system_4,0,360,-3+random(6),1,1)
    19. // NORMAL FEUER
    20. system_1=part_system_create();
    21. part_system_depth(system_1,-2);
    22. system_1=part_type_create();
    23. part_type_sprite(system_1,sprFire,0,0,3);
    24. part_type_size(system_1,0.05,0.06,+0.005,0);
    25. part_type_blend(system_1,0)
    26. part_type_color2(system_1,1769471,21503)
    27. part_type_alpha1(system_1,1)
    28. part_type_life(system_1,8,8);
    29. part_type_speed(system_1,3,4,0,0);
    30. part_type_gravity(system_1,0.1,90);
    31. part_type_direction(system_1,268,272,0,0);
    32. part_type_orientation(system_1,0,360,-3+random(6),1,1)
    33. part_type_death(system_1,1,0)
    34. emitter_1=part_emitter_create(system_1);
    35. part_emitter_region(system_1,emitter_1,x-1,x+1,y-27,y-29,pt_shape_pixel,0)
    36. part_emitter_stream(system_1,emitter_1,system_1,1);
    Alles anzeigen
  • Das sieht man doch deutlich:P Du hast ein Partikelsystem erstellt(was man nicht eigentlich nicht nennen kann) mit einem Depthwert von -1, dann hebst du wieder das "Partikelsystem" auf und erstellst das richtige Partikelsystem, aber nicht mit dem veränderten Depthwert.

    So müsste es richtig sein:

    GML-Quellcode

    1. // NORMAL FEUER 2 wird erstellt, wenn "type_1" stirbt, da ich sonst keine andere möglichkeit gefunden habe.
    2. //weil ich wills nämlich so haben: kleine partikel kommen aus kleinem "loch",
    3. //werden größer,aber dann müssen sie wieder kleiner werden und aufsteigen...
    4. //hab stundenlang rumprobiert wie ich das machen könnte, dies hätte den gewünschten effekt,
    5. //wenn system_4 im hintergrund wäre...
    6. system_4=part_system_create();
    7. part_system_depth(system_4,-1);
    8. part_type_sprite(system_4,sprFire,0,0,3);
    9. part_type_size(system_4,0.05,0.06,-0.003,0);
    10. part_type_blend(system_4,0)
    11. part_type_color2(system_4,21503,51)
    12. part_type_alpha1(system_4,1)
    13. part_type_life(system_4,14,14);
    14. part_type_speed(system_4,2.5,3.3,0,0);
    15. part_type_direction(system_4,268,272,0,0)
    16. part_type_gravity(system_4,0.12,90);
    17. part_type_orientation(system_4,0,360,-3+random(6),1,1)
    18. // NORMAL FEUER
    19. system_1=part_system_create();
    20. part_system_depth(system_1,-2);
    21. part_type_sprite(system_1,sprFire,0,0,3);
    22. part_type_size(system_1,0.05,0.06,+0.005,0);
    23. part_type_blend(system_1,0)
    24. part_type_color2(system_1,1769471,21503)
    25. part_type_alpha1(system_1,1)
    26. part_type_life(system_1,8,8);
    27. part_type_speed(system_1,3,4,0,0);
    28. part_type_gravity(system_1,0.1,90);
    29. part_type_direction(system_1,268,272,0,0);
    30. part_type_orientation(system_1,0,360,-3+random(6),1,1)
    31. part_type_death(system_1,1,0)
    32. emitter_1=part_emitter_create(system_1);
    33. part_emitter_region(system_1,emitter_1,x-1,x+1,y-27,y-29,pt_shape_pixel,0)
    34. part_emitter_stream(system_1,emitter_1,system_1,1);
    Alles anzeigen
    Meine Spiele:
    - Mission A
    - Mission B
    - The Virus 1, 2, 3
    - The Virus 4: The Excision
    - Blur melts Snow
    - Blur melts Snow: 2nd Version
    - Cave Jumper

    Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
    In Planung: Planet Jumper(Nachfolger von Cave Jumper)
  • so hab mal in der gm-hilfe datei rumgesucht, und da war eine funktion die anscheinend das richtige dafür ist

    part_system_draw_order(ind,oldtonew) Setzt die Reihenfolge in welcher das Partikelsystem die Partikels zeichnet. Wenn oldtonew true ist, werden die ältesten Partikel zuerst gezeichnet und die neuen liegen über ihnen (voreingestellt). Sonst werden die neuen Partikel zuerst gezeichnet. Das kann einen anderen Effekt ergeben.


    reingecodet, ausprobiert, und JAAAA ES FUNZT!!! system_4 ist hinter system_1!

    trotzdem danke für die schnellen antworten!!!!
  • Benutzer online 1

    1 Besucher