energieanzeige zählt fehlerhaft

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

  • energieanzeige zählt fehlerhaft

    hi
    ich bin gerrade dabei ein spiel im style von zelda zu erstellen..
    allerdings habe ich ein größeres problem mit der energieanzeige..

    ich nutze nicht die standard drag & drops vom game maker für die energie,
    da ich nicht weiß wie man damit die maximale energie erweitern kann..
    aber egal.
    außerdem sollen auch halbe herzen abgezogen werden können.
    ich habs versucht mit variablen zu lösen...
    die maximale energie wird von mehreren objekten angezeigt, die im sprite jeweils einen weiteren "herzcontainer" haben.



    wenn ich jetzt die variable "energie = 1" um 1 auf 2 erhöhe, springt das image nicht auf das bild der variable energie = 2, sondern auf das der variablen energie = 1.5.. danach ändert es sich überhaupt nichtmehr..
    und wenn energie abgezogen weerden soll, also von energie = 2 auf energie = 1, dann verändert sich überhaupt nichts..

    hat jemand von euch eine idee, woran das liegen könnte?
    kann gerne noch weitere screens hochladen..

    schonmal vielen dank im voraus!

    gruß HIM666

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

  • also den obrigen code gibt es nochmal mit bis zu 16 herzen.
    die anzahl der maximalen herzen, habe ich im step event des anzeigeobjektes so gemacht:


    die änderung der energie sieht so aus und ist derzeit noch im press key event für + und -
    der code lautet

    if (global.Energie + 1 <= global.Energie_max) {global.Energie += 1};

    das war eigentlich alles..
  • Original von Melancor
    Das wird Dir zwar grad nicht helfen, aber den code ganz oben könntest Du auch ersetzen durch image_index = global.energie * 0.5
    Tippt sich schneller und ist genauso präzise. Ansonsten egal.


    Anders rum: image_index=global.energie * 2, da ja image_index für energie=0.5 sonst 0.25 und nicht 1 wäre...

    Zurück zum eigentlichen Problem: Wenn du diesen Code wirklich im Step_Event hast, wird in jedem Step eine neue Instanz von Energie_?? erstellt, ohne dass die alte gelöscht wird. Erstell lieber nur eine Instanz von Energie_03, und lege dort, wo du die maximale Energie erhöhst, noch folgenden code rein:

    GML-Quellcode

    1. switch(Energie_Max)
    2. {
    3. case 3: with (Energie_03){instance_change(Energie_04,false);};break;
    4. case 4: with (Energie_04){instance_change(Energie_05,false);};break;
    5. case 5: with (Energie_05){instance_change(Energie_06,false);};break;
    6. case 6: with (Energie_06){instance_change(Energie_07,false);};break;
    7. case 7: with (Energie_07){instance_change(Energie_08,false);};break;
    8. case 8: with (Energie_08){instance_change(Energie_09,false);};break;
    9. case 9: with (Energie_09){instance_change(Energie_10,false);};break;
    10. case 10: with (Energie_10){instance_change(Energie_11,false);};break;
    11. case 11: with (Energie_11){instance_change(Energie_12,false);};break;
    12. case 12: with (Energie_12){instance_change(Energie_13,false);};break;
    13. case 13: with (Energie_13){instance_change(Energie_14,false);};break;
    14. case 14: with (Energie_14){instance_change(Energie_15,false);};break;
    15. case 15: with (Energie_15){instance_change(Energie_16,false);};break;
    16. }
    Alles anzeigen