objecte per variablen ansprechen?

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

  • objecte per variablen ansprechen?

    hi leute
    mir tut sich gerade ein kleines problem auf...
    ich bin, wie gesagt, gerade daran ein final fantasy-ähnliches spiel zu programmieren.
    also so n klick-kampfsystem, ihr wisst schon was ich mein, oder?

    also mein problem liegt darin, dass ich ne timeline habe in der die gegner angreifen.
    funktioniert auch wunderbar, nur möchte ich jetzt festlegen, welcher gegner angreift, denn
    mir passiert es, dass mehrere gegner gleichzeitig angreifen..

    da meine gegner zufällig erstellt werden, werden sie beim erstellen mit der variablen
    "enemy_number" nummeriert.
    ist es jetzt möglich, den gegner anzusprechen, der die "enemy_number = 1" besitzt?
    und dann halt den der "enemy_number = 2" besitzt, und so weiter.
    ist jetzt glaub sehr kompliziert ausgedrückt... sorry.

    wenn das funktioniert, sagt mir bitte wie :) ich hab leider nichts gefunden :(

    danke im voraus!!
  • ich würds mit nem array machen in dem du direkt die Instanz speicherst.
    also

    GML-Quellcode

    1. gegner[i]=instance_create(x,y,obj_gegner)

    Da ich nicht weiß wie dein Kampfsystem aufgebaut ist, kann ich auch nicht darauf eingehen.
    Aber ich nehme mal an das du ne art controller object hast, welches die Gegner created und da müssteste auch diesen code ausführen wobei du i am anfang auf 1 und nach jedem erstellem um eins erhöhen soltlest. Dann haste mit gegner[1..x] Zugriff auf die verschiedenen instanzen
  • ohje ohje, worauf hab cih mich da eingelassen :)
    ich werd das mit den arrays mal ausprobieren. ich lass mir da mal von
    meiner freundin helfen, die studiert nämlich informatik und kann daher
    java.. die hat da viel mit arrays und listen zu tun..

    also danke schonmal für den tipp mit den arrays und listen.

    mal schauen obs klappt :)

    @TrunX

    die sind in sofern zu statisch, da die vorher wissen wollen, wieviele objekte
    kommen
  • Original von HIM666
    @TrunX

    die sind in sofern zu statisch, da die vorher wissen wollen, wieviele objekte
    kommen


    Auch wenn ich nicht TrunX heiße:
    Das mag vielleicht in anderen Sprachen so sein, dass du vorher angeben musst, wie groß dein Array ist, aber im GM werden Variablen vorher nicht definiert (zumindest nicht zwingend). D.h. du kannst ein Beliebiges Feld "Array[x]" belegen, und der GM verarbeitet dies problemlos.
  • Ein array in gm ist nicht gleich einem array in java.
    In java sind arrays statisch, man muss vorher deren grösse angeben.
    Gm-arrays verhalten sich in etwa wie Vektoren in java (nur das man nicht angibt, welchen Datentyp der array hat. Das kann eine Mixtur aus strings und doubles sein, ist völlig egal), sie wachsen einfach mt der Anzahl an daten, die sie beinhalten.

    Wie lang der array in gm denn nun ist, muss man in einer sepperaten Variable speichern da es keine Funktion gibt, die die Anzahl der Elemente in einem Array zurück gibt.
  • @ Verwurster:

    das ist doch schon mal ne gute nachricht :) also der einzige nachteil besteht
    darin, dass ich nichtmehr abrufen kann, wieviele elemente im array gespeichert sind, oder?
    aber das wäre ja mit meiner hochzählenden "enemy_number" erledigt..

    @ TrunX:

    ich finde es umständlich und etwas überflüssig, wenn ich erst per zufall bestimme, wieviele
    gegner erscheinen, dann auch ncoh unterscheiden muss, wann dann welcher gegner
    erstellt wird.

    @ CAS:

    Achso, ich dachte dass array gleich array ist. dass es da im gamemaker unterschiede
    zu anderen sprachen gibt, wusste ich nicht, sorry
  • Original von HIM666
    @ TrunX:

    ich finde es umständlich und etwas überflüssig, wenn ich erst per zufall bestimme, wieviele
    gegner erscheinen, dann auch ncoh unterscheiden muss, wann dann welcher gegner
    erstellt wird.

    Was hat das mit dem Array zu tun? Du willst es doch per zufall bestimmen und wann welcher Gegner erstellt wird codest du und wird auch nicht vom array beeinflusst...
  • naja, ich wusste ja nicht, dass der array nicht so aufgebaut ist wie in java..
    und dann hätte ich vorher bestimmen müssen, wieviele gegner kommen..


    edit:
    nachdem ich das nicht so hinbekomme wie ich mir das vorgestellt habe, werde
    ich wohl vorerst weiterhin damit leben müssen, dass die gegner auch mehrere
    meiner "helden" angreifen.. naja sogesehen ist es mal was neues :D

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

  • Benutzer online 2

    2 Besucher