Problem beim Sammeln von Münzen

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

  • Problem beim Sammeln von Münzen

    Hallo liebe Community,
    ich arbeite gerade an meinem neuen Jump'n'Run spiel. Ich möchte das sammeln von Münzen einbauen, habe aber ein Problem.
    Ich hoffe die Frage wurde noch nirgendwo beantworten, ansonsten bin zu dumm zum suchen ;D.
    Also ich habe vor alle Kollisionsabfragen die für den Spieler gelten in einem Script zu vereinen. Die Horizontale und Vertikale Kollision mit den Solids ist schon drin, aber das aufsammeln von Münzen macht mir Probleme. Das hier ist das Script:

    GML-Quellcode

    1. //Horizontale Kollision mit Solids
    2. if place_free(x+hspeed,y) == false
    3. hspeed = 0
    4. //Vertikale Kollision mit Solids
    5. if place_free(x,y+vspeed) == false
    6. {
    7. if lastpressed == "right"
    8. sprite_index = spr_player_right
    9. else
    10. sprite_index = spr_player_left
    11. vspeed = 0
    12. in_air = "false"
    13. }
    14. //Aufsammeln von Zeug
    15. if place_meeting(x,y,obj_parent_collect)
    16. {
    17. //die aufgesammelte Instanz soll zerstört werden
    18. global.money += 1
    19. }
    Alles anzeigen

    Ich habe schon folgendes versucht:

    GML-Quellcode

    1. //Aufsammeln von Zeug
    2. if place_meeting(x,y,obj_parent_collect)
    3. {
    4. {with (obj_parent_collect) instance_destroy()}
    5. global.money += 1
    6. }

    Allerdings wurden dann alle Münzen im Raum gelöscht. Wenn ich statt obj_parent_collect, other eingebe wird der Spieler gelöscht. Was muss ich machen damit nur die Instanz mit der der Spieler kollidiert gelöscht wird? Und kann ich Variablen dieser Instanz abfragen?
    Glg, Stone

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

  • Neben der Möglichkeit die Kollision im Münzobjekt abzufragen kannst du auch instance_place() nutzen um auf die Instanz zugreifen zu können:

    GML-Quellcode

    1. var inst;
    2. inst = instance_place(x, y, obj_parent_collect);
    3. if inst != noone
    4. {
    5. global.money += 1;
    6. with (inst) instance_destroy();
    7. }