Stachel in der Erde nur dann schädlich machen, wenn er sichtbar ist.

    Stachel in der Erde nur dann schädlich machen, wenn er sichtbar ist.

    Hallo,

    ich habe neulich einen anmierten Stachel erstellt, der nach einer gewissen Zeit aus der Erde kommt und dann wieder in die Erde fährt. Nun soll dieser Stachel eigentlich nur dann schädlich sein, wenn er auch aus der Erde gefahren ist, und somit auch sichtbar ist. Ich weiß aber einfach nicht, wie ich das am besten angehen soll.
    Habt ihr vielleicht Ideen?

    Liebe Grüße,
    Max/ChinoDX

    ROBOT REVOLUTION - Jetzt in Entwicklung!
    Ganz simpel.
    Vor dem Teil wo der Schadensprozess stattfindet, also da wo Leben abgezogen wird musst du nur abfragen ob der Stachel ausgefahren is.
    Ich weiß nich ganz wie das jetz bei dir funktioniert, aber wenn du dass als animiertes Sprite hast dann musst du gucken in welchen subframes schaden sein soll.
    Und dann fragst du z.b.
    if(image_index == 4)
    //do damage

    usw.
    jenachdem.
    Sorm ist Schuld

    Edit: Doch ist er
    Ganz simpel.
    Vor dem Teil wo der Schadensprozess stattfindet, also da wo Leben abgezogen wird musst du nur abfragen ob der Stachel ausgefahren is.
    Ich weiß nich ganz wie das jetz bei dir funktioniert, aber wenn du dass als animiertes Sprite hast dann musst du gucken in welchen subframes schaden sein soll.
    Und dann fragst du z.b.
    if(image_index == 4)
    //do damage

    usw.
    jenachdem.


    Ich habe es mal so ähnlich probiert, aber aus irgendeinem Grund funktioniert die Funktion "image_index ==..." nicht so wirklich. Ich hab unten mal meinen Code reingepackt, also wie ich das ganze versucht habe zu machen.


    Create:

    GML-Quellcode

    1. damage = true
    2. image_speed = 0.25


    Step:

    GML-Quellcode

    1. if (image_index == 6) && (damage == true)
    2. {damage = false; alarm[4] = 1;}


    Alarm 4:

    GML-Quellcode

    1. image_speed = 0.25
    2. damage = true


    Kollision mit Spieler:

    GML-Quellcode

    1. if (damage == true) {
    2. room_restart();
    3. with(obj_Wictor)
    4. {global.leben -= 1;
    5. global.hp = 100;
    6. global.timer = room_speed *300;
    7. }}

    ROBOT REVOLUTION - Jetzt in Entwicklung!
    Also so wie du deinen Code aufgeschrieben hast verstehe ich dass so, du hast ein Level und da gibt es eine Falle, ist die Falle ausgefahren und dein Objekt an der Stelle dann wird ein Leben abgezogen und das Level neugestartet.


    Create:

    GML-Quellcode

    1. var damage = false // ich hab die Variable auf false gesetzt, da wir ja noch keinen Schaden erleiden
    2. image_speed = 0.25


    Step:

    GML-Quellcode

    1. if image_index =-6 // wenn unser image_index beim Subimage 6 angekommen ist, dann...
    2. {damage = true; //das sind die ausgefahren Stachel und das Objekt erleidet schaden, daher setzten wir jetzt die Variable auf true
    3. }
    4. else
    5. {damage = false}


    Kollision mit Spieler:

    GML-Quellcode

    1. if damage = true
    2. {global.leben -=1;
    3. global.hp = 100;
    4. global.timer = room_speed *300
    5. room_restart();
    6. }


    Probiers mal :)... ich garantier aber für nichts :D
    Den Alarm hab ich rausgenommen da die Variable damage nur ganz genau beim Subimage 6 auf true schaltet


    Gruß

    Eddy :D
    Wir stehen zusammen und wir fallen zusammen

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