Items listen

  • GM 8
  • hey leute,


    ich hätte da ein problem, ich hab da in meinem spiel eine Sidebar(oder Inventar) welche ich aufrufen kann, welche mir alle items die ich besitze auflistet.Die items sind alle neben einander aufgelistet. Ich hab es so geplant das die items, wenn platz nach links besteht, nach links aufrücken, sodass es zu keinen lücken kommt. Zur veranschaulichung hab ich ein bild hochgeladen. Meine codes sehen so aus, aber es funktioniert nicht richtig xD


    das ist imt step event des objektes "sidebar"

    GML-Quellcode

    1. if global.item1>=1 // Wenn ich das "item1" einsammle dann wird die var global.item1 mit 1 addiert
    2. {
    3. instance_create(110,16,obj_item1) // Zu erst so weit wie möglich nach rechts/hinten erstellen
    4. if !position_meeting(70,16,obj_items) // überprüft ob an der stelle i-ein item schon ist
    5. {
    6. if !position_meeting(32,16,obj_items)
    7. {
    8. obj_item1.x=32; obj_item1.y=16;
    9. }
    10. else
    11. {
    12. obj_item1.x=70; obj_item1.y=16;
    13. }
    14. }
    15. }
    Alles anzeigen
    Bilder
    • ddd.png

      8,27 kB, 532×210, 204 mal angesehen

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

  • Schau Dir mal ein Tutorial an, so wie Du das machst, ist das total umständlich.
    Hier ein Tipp:

    GML-Quellcode

    1. for(i=0;i<4;i+=1){
    2. item[i] = instance_create(i*32,32,obj_item)}


    Das erstellt vier Instanzen von "obj_item" (item[0],...,item[3]).
    Dann kannst Du diese mit einfachen Codes sortieren lassen, oder was auch immer Du willst.

    Wenn Platz nach links frei sollen sie alle aufrücken

    ?
    Dieser Beitrag wurde bereits 8.675.628 mal editiert, zuletzt von »levarris07« (Heute, 11:33)
  • levarris07 schrieb:

    Schau Dir mal ein Tutorial an, so wie Du das machst, ist das total umständlich.
    Hier ein Tipp:

    GML-Quellcode

    1. for(i=0;i<4;i+=1){
    2. item[i] = instance_create(i*32,32,obj_item)}


    Das erstellt vier Instanzen von "obj_item" (item[0],...,item[3]).
    Dann kannst Du diese mit einfachen Codes sortieren lassen, oder was auch immer Du willst.

    Wenn Platz nach links frei sollen sie alle aufrücken

    ?
    das erstellen der Instanzen ist kein so großes problem, mein problem ist die Instanzen alle so weit wie möglich nach links aufrutschen. Z.B. siehe meinen Anhang auf dem bild sind 3 Instanzen zu sehen die nebeneinander aufgelistet sind, aber sollte z.B. das "item1" verschwinden dann sollte "item2" an der ersten stelle stehen und "item3" folglich an der zweiten und die dritte und vierte stelle wären dann leer. Und damit ihrs nicht falsch versteht, item1 item2 und item3 sind verschiedene objekte und sie haben alle obj_items als parent.

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

  • Iboshido schrieb:

    versteht niemand mein problem oder warum antwortet mir keiner xD

    Und verstehst du die Sache mit den Doppelpost nicht? Und das Leute auch was anderes zu tun haben könnten als den ganzen Tag nur nach DEINEN posts zu schaun?
    Mein Gott mehr als 3 stunden sollte man doch Geduld haben.

    //Sry für offpost..

    Wie wärs mit ner abfrage Variable zum Punkt.. für das "ausgewählte" item oder was auch immer?
  • Statt Kollision und Instanzen kannst du auch Variablen verwenden.

    Jeder Slot hat dann seine Variable:
    Slot1 = "empty" wenn leer, Slot1 = "Item1" wenn ein Item drin ist.

    Dann machst du einfach:
    if (slot1 = "empty")
    {
    slot1 = slot2
    slot2 = empty
    }

    und das für jeden Slot, sodass später Slot 3 auch aufrückt (Slot2 ist jetzt ja leer)
  • Benutzer online 1

    1 Besucher