Blut, spritz aus For-Schleife!

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

  • Blut, spritz aus For-Schleife!

    heyho!
    Hab grad mein Blut-system umgebastelt, wird jetzt über Scripts gesteuert :D.
    Folgendes Problem:
    Ich will ne Blutfontäne machen via for-schleife, nur leider werden alle Blut-Instanzen die ich per Schleife erstelle, GLEICHZEITIG kreiert, und nich nacheinander, wie das bei meiner Fontäne ja sein soll :/

    hier mein Codebsp:

    GML-Quellcode

    1. for(i=0;i<5;i+=1)
    2. {
    3. with(instance_create(argument0,argument1,obj_blood_drop))//argumente sind Koordinaten
    4. {
    5. hspeed=8-random(15);
    6. vspeed=-4-random(12);
    7. //...
    8. }
    9. }

    So ungefähr. Für einen normalen, kurzen "Blutstoß", bei dem einmalig in verschiedene Richtungen gleichzeitig Blutspritzer fliegen is das ja wunderbar, nur wie mache ichs so, dass immerwieder ein Bluttropfen nach dem anderen rausschießt?!
    Die For-Schleife ist dabei übrigens wichtig, weil ich die Schleifenvariable noch benutzen will um den Speed der Bluttröpchen zu beiinflussen.

    Also, danke schonmal im Vorraus an die rauchenden Köpfe :P
  • Du hast da einfach einen denk fehler eingebaut. Eine Forschleife wird immer innerhalb eines Steps abgehandelt. Was du benötigst, ist eine zähler variable, die jeden step kleiner wird, und das But Objekt selbst wird einmap pro Step erzeugt.

    z.b.

    Create

    GML-Quellcode

    1. Timer = 5;


    Step

    GML-Quellcode

    1. if(Timer)
    2. {
    3. with(instance_create(argument0,argument1,obj_blood_drop))//argumente sind Koordinaten
    4. {
    5. hspeed=8-random(15);
    6. vspeed=-4-random(12);
    7. //...
    8. }
    9. Timer-=1;
    10. }
    ...
  • hmm...also doch über n objekt :/. das is nämlich das Problem, ich wollte die Bluttropfen direkt vom Skript aus spritzen lassen, ohne ein "Zwischenobjekt", das die Fontäne kreiert :/. Aber dat scheint wohl nicht möglich zu sein (also zumindest nicht ohne s unnötig umständlich zu machen :D)!