Objecte nach x-Position sortieren

  • GM 8

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

  • Objecte nach x-Position sortieren

    Hallo Community,

    Lange ists her das ich hier eine Frage gestellt habe und deswegen dachte ich mir es wäre mal wieder Zeit dafür xD

    Ich hab in einem raum 3 münzen und möchte die reihenfolge(von links nach rechts) von denen herausfinden(die bekommen dann jeweils in der variable number ihre position) ohne etz sowas wie obj_coin1,obj_coin2 und obj_coin3 zu machen
    hab dafür dieses script gemacht:

    GML-Quellcode

    1. global.bigcoins = ds_list_create()
    2. with(obj_bigcoin)
    3. {
    4. ds_list_add(global.bigcoins,x)
    5. }
    6. ds_list_sort(global.bigcoins,true)
    7. xx1 = ds_list_find_value(global.bigcoins,0)
    8. id1 = instance_nearest(xx1,240,obj_bigcoin)
    9. xx2 = ds_list_find_value(global.bigcoins,1)
    10. id2 = instance_nearest(xx2,240,obj_bigcoin)
    11. xx3 = ds_list_find_value(global.bigcoins,2)
    12. id3 = instance_nearest(xx3,240,obj_bigcoin)
    13. id1.number = 1
    14. id2.number = 2
    15. id3.number = 3
    Alles anzeigen

    Im Create Event der Münzen wird number=0 definiert
    wenn ich jetzt spiele haben aber alle münzen den wert 0 bei number und nicht 1,2 oder 3

    Seht ihr vielleicht einen Fehler in meinem Vorgehen?

    mfg,derkimba
  • Also.. eigentlich müsste das funktionieren. Zumindest kann ich nicht sagen wieso nicht, es sei denn alle deine Coins sind auf verschiedenen Höhen und nah beieinander!
    Auf jedenfall gibt es midnestens eine bessere Methode für dein vorhaben.
    Der Schlüssel heisst ds_map.
    Schau mal in die Hilfe wie man diese benutzt.
    Tip: Als key den x-wert verwenden und als value die ID des Coins, dann kannst du ganz einfach mit ds_map_find_next(id,key) die Reihenfolge rausfinden :)

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • derkimba schrieb:

    Vielen Dank,
    Seltsamer Weise funktioniert das Script seit dem ich heute morgen nochmal versucht hab das Spiel zu spielen. KA warum xD
    Jedenfalls Danke :)

    Äh kein Problem^^
    Aber bedenke dass bei deinem Skript ein Problem auftritt wenn zwei Sterne nebeneinander auf stark verschiedenen Höhen sind...

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Ja in diesem Fall muss ich dann halt im Room Editor STRG+Rechtsklick auf die Coin machen und per Instance Creation Code die Nummer selbst zuweisen xD
    Wollte dies nur vermeiden da 60 Level geplant sind. Aber die Abstände sollten schon an die 1000 betragen da jedes Level ca. 10000 lang sein soll.

    Ich frag mich nur warums heute geht und gestern nicht. Hab nichts geändert xD