Maximale Objekt-Anzahl

  • Maximale Objekt-Anzahl

    Ich habe bei meinem Spiel ein kleines Problem. Ich habe nun schon länger versucht, auch mit mehreren Variablen und sowas, die maximale Anzahl eines Objekts in einem Raum zu bestimmen. Immoment habe ich diesen Code:

    Im Creat-Event meines Objektes:

    GML-Quellcode

    1. bootblaumove = true
    2. maxblau = false


    Im Step-Event habe ich folgendes:
    if bootblaumove = true

    GML-Quellcode

    1. {if keyboard_check_pressed(ord("S"))
    2. {y+=32}
    3. if keyboard_check_pressed(ord("W"))
    4. {y-=32}
    5. if keyboard_check_pressed(ord("A"))
    6. {x-=32}
    7. if keyboard_check_pressed(ord("D"))
    8. {x+=32}
    9. }
    10. if keyboard_check_pressed(ord("Q")) && maxblau = false
    11. {
    12. bootblaumove = false;
    13. instance_create(0,0,obj_bootblau)
    14. }
    15. if keyboard_check_pressed(ord("Q")) && maxblau = true
    16. {bootblaumove = false;}
    17. if instance_number(obj_bootblau) = 5
    18. {maxblau = true}
    19. else maxblau = false
    Alles anzeigen


    Das ist nur eines von den drei Lösungsansätzen, die ich hatte, allerdings habe ich immer wieder das gleiche Problem, dass ich beliebig viele Objekte erstellen konnte. Wo ist mein verdammter Fehler?
    :) :( ;) :P 8) :D ;( :rolleyes: :huh: :S X( 8| ?( :| :thumbdown: :thumbsup: :thumbup: 8o :pinch: :sleeping: :wacko: :whistling: :evil: ^^ :heul: :para:

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

  • Es liegt sehr warscheinlich daran das du mehr als 5 hast. Du überspringst die 5 in dem du mehrere Objekte erzeugst. Das kann aber nicht sein weil du hier nur 1 Objekt pro Step erzeugst. Probier es trotzdem mal.

    Mach aus

    GML-Quellcode

    1. if instance_number(obj_bootblau) = 5


    das hier:

    GML-Quellcode

    1. if instance_number(obj_bootblau) >= 5
  • Das kann nicht am Code liegen. Du musst vielleicht noch Speichern bevor die Änderungen wirksam werden (denk ich mal).

    ÄDIT: Mach aus dem >= ein > dann musst nicht die 6 hinschreiben

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

  • Probiers mal so:

    GML-Quellcode

    1. {
    2. if keyboard_check_pressed(ord("S"))
    3. {y+=32}
    4. if keyboard_check_pressed(ord("W"))
    5. {y-=32}
    6. if keyboard_check_pressed(ord("A"))
    7. if {x-=32}
    8. if keyboard_check_pressed(ord("D"))
    9. {x+=32}
    10. }
    11. if keyboard_check_pressed(ord("Q"))
    12. {
    13. bootblaumove = false;
    14. if instance_number(obj_bootblau) < 5
    15. instance_create(0,0,obj_bootblau)
    16. }
    Alles anzeigen
  • @ TrunX:
    Komisch, es ist irgendwie ein Syntax Fehler bei dem keyboard_check_pressed(ord("Q")).
    Habe danach auch noch "versucht", deine Vorlage irgendwie richtig zu machen, was aber nicht funktioniert hat.

    PS: Es muss nicht:
    if keyboard_check_pressed(ord("A"))
    if {x-=32}

    sondern:
    if keyboard_check_pressed(ord("A"))
    {x-=32}

    heißen ^^


    edIT: gm6 entfernt
    :) :( ;) :P 8) :D ;( :rolleyes: :huh: :S X( 8| ?( :| :thumbdown: :thumbsup: :thumbup: 8o :pinch: :sleeping: :wacko: :whistling: :evil: ^^ :heul: :para:

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

  • Na klaaa. Jedes obj_boot erstellt ein neues! Da wäre ich ohne Debuging nie drauf gekommen.
    Erweitere das if mit dem instance_create() so:

    GML-Quellcode

    1. if keyboard_check_pressed(ord("Q")) && maxblau = false && bootblaumove

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von bernt ()

  • Benutzer online 2

    2 Besucher