Brauche unbedingt eigenen Objekt- >>Namen<<

  • GM 8
  • Brauche unbedingt eigenen Objekt- >>Namen<<

    So nun habe ich diesmal eine recht leicht erklärbare Frage :D.

    Undzwar bräuchte ich eine Möglichkeit, wie ich in einem Objekt den eigenen Objektnamen herausfinden kann (der aus der Objektliste links).
    Damit ich diesen dann in folgendem Code einsetzen kann, um die collision Mask zu ändern:

    object_set_mask(object_get_name(???),m16)

    Habe schon nach vorhandenen Threads gesucht und tatsächlich um die 3-4 gefunden, jedoch wurden diese mit object_index oder dergleichen gelöst. Ich denke bei mir geht es nur mit dem richtigen Objektnamen, habe es schon getestet.

    Grüße,
    lordvanzed
  • Wenn du die Collisionsmask eines Objektes innerhalb dieses Objektes ändern willst, reicht:

    GML-Quellcode

    1. object_set_mask(object_index,m16)

    object_get_name() gibt dir den Objektnamen als String zurück, das ist aber nicht, das, was die object_set_mask Funktion verlangt. Diese verlangt den Index des Objektes, den du eben mit object_index erhältst.

    © 2008 by Teamgrill Productions
  • Danke für die Antwort! Das hatte ich gestern schon probiert und es hat leider nicht funktioniert. Nach sehr langer suche im Netz habe ich dann die Lösung gefunden:

    object_set_mask(object_index,m16) scheint in einigen Fällen schlichtweg nicht zu funktionieren (so auch dort wo ich die Lösung fand)

    damit funktionierte es aber:
    mask_index=m16 (m16 = sprite name)
  • Das stimmt.
    object_set_mask(object_index,m16) ändert nur für alle neuen Instanzen des Objekts die MAske, nicht aber für bestehende. Die Lösung, die du gefunden hast wirkt sich hingegen nur auf die ausführenden Instanzen auf, d.h. die Maske wird zur Laufzeit der Instanz geändert.

    © 2008 by Teamgrill Productions