Objekt abfrage

  • GM 8

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

  • Objekt abfrage

    Ich will ein objekt abfrage machen ob es existiert und wenn nicht das es dann erstellt wird.Das hier habe ich als code verwendet:

    if (instance_number(Objekt) = 0)
    {
    instance_create(x,y,Objekt)
    }

    Nur leider funktioniert es nicht.Mit welchen Code kann ich das Problem lösen?
  • Du benutzt doch Studio oder?
    Habe gerade getestet beide Codes funktionieren bei mir!
    Hast du etwas falsch geschrieben oder es in das falsche object geschrieben?
    Hast du die neuste version installiert ?

    Sonst hätte ich auch keine Ahnung was bei deinem GM schief läuft? 8|
    Wenn Frodo ein Hobbit ist,sind 8 Frodos dann ein Hobbyte? ?(
  • Okay ich weis jetzt woran es liegt.Ich wusste nicht das es wichtig wäre aber das Objekt ist auf persistens gestellt.Ich habs eben getestet und funktioniert erst wenn das Objekt nicht auf persistent gestellt wurde.Kann man da irgentwas
    machen das es auf persistent funktioniert?
  • Hallo subteam,

    Ich hätt hier eine Lösung für dein Problem:

    Löss das doch einfach mit einem Counter


    Beim Start des Spieles erstellst du eine Globale Variable mit dem Wert 0

    GML-Quellcode

    1. global.counter = 0;


    Wenn nun das Objekt das du abfragen möchtest im Laufe des Spieles erstellt wirt kannst
    du im Create Event diesn Objektes den Counter um 1 hochzählen..

    GML-Quellcode

    1. global.counter += 1;


    Und im Destroy Event:

    GML-Quellcode

    1. global.counter -= 1;


    Dann musst du nur den Counter überprüfen wenn du wissen willst ob das Objekt exestiert:

    GML-Quellcode

    1. if(global.counter == 0)
    2. {
    3. instance_create(x, y, obj);
    4. }
  • Also, bei persistenten Klassen reicht es eigentlich, wenn Du sie im ersten Room des Spiels setzt und dann in keinem anderen mehr.
    Falls Du das aber nicht willst, sollte das eigentlich funktionieren:

    GML-Quellcode

    1. if (!instance_exists(DeinObjekt)) {
    2. instance_create(0, 0, DeinObjekt);
    3. }


    Einen eigenen Counter zu machen wäre seltsam, da

    GML-Quellcode

    1. if (instance_count(Objekt) == 0) {}

    genau dasselbe macht.

    Dass diese beiden Methoden bei Dir nicht funktionieren kann ich mir schwer vorstellen.
    Wo führst Du denn die Überprüfung genau aus?
    Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)
  • Benutzer online 1

    1 Besucher