Kleine Frage für das besser Verständniss

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

  • Kleine Frage für das besser Verständniss

    hy


    also ich hab schon öfter gesehn das manche leüte bei einem array soetwas machen array[|] also ich meine den vertikalen strich in den klammern.
    was bewirkt das oder was bedeütet es?

    wäre toll wenn mich jemand aüfklärt
  • acidrain833 schrieb:

    hy


    also ich hab schon öfter gesehn das manche leüte bei einem array soetwas machen array[|] also ich meine den vertikalen strich in den klammern.
    was bewirkt das oder was bedeütet es?

    wäre toll wenn mich jemand aüfklärt


    Hallo,
    Ich bezweifle dass, das jemand so machen würde. Dieses Zeichen | ist ein Accessor für eine ds_list. Vielleicht hat derjenige seine ds_list einfach array gennant.
    Aber normalerweise braucht man diese Accessoren nur damit beim Editieren einer Datenstruktur nicht der Inhalt kopiert wird, sondern die Datenstruktur direkt editiert werden kann.
    Bringt auch noch ein wenig Performance.

    GML-Quellcode

    1. array: @
    2. ds_list: |
    3. ds_grid: #
    4. ds_map: ?

    Das ist nachzulesen hier: docs.yoyogames.com/source/dadiospice/002_reference/001_gml language overview/accessors.html
    und auch noch im Blog: yoyogames.com/blog/35
  • danke aber ganz verstech ichs noch nicht.wie meinst dü das mit: damit beim editieren einer ds list nicht der inhalt kopiert wird sondern die ds list direkt editiert wird.
    sorry stell mich sicher dümm aber für mich ist das neü.

    @Simon Gust
    Ach ja ich hab mir deinen yoütübe accoünt angesehen tolle videos ..aber viele sachen sind für mich noch zü hoch.könntest dü mir vielleicht tipps geben was ich lernen soll?
    in bezüg aüf mathe ünd allen anderen.......

    ünd noch was ich hab dein video zü den blitzen gesehn...ünd ich braüchte so einen blitz ünd wollte fragen ob dü mir helfen könntest wenn dü mal zeit hast so welche zü erstellen..
    ich hab zwar schon selbst einen gemacht aber den hab ich nür in photoshop gezeichnet ünd ne animation daraüs gemacht.ünd ein blitzscript wäre natürlich viel besser.
    aber ich will nicht einfach nür copy & paste machen...ich will ihn mit deiner hilfe(falls dü dafür zeit hättest)selbst erstellen.damit ich es wirklich verstehe.
  • acidrain833 schrieb:

    danke aber ganz verstech ichs noch nicht.wie meinst dü das mit: damit beim editieren einer ds list nicht der inhalt kopiert wird sondern die ds list direkt editiert wird.
    sorry stell mich sicher dümm aber für mich ist das neü.

    @Simon Gust
    Ach ja ich hab mir deinen yoütübe accoünt angesehen tolle videos ..aber viele sachen sind für mich noch zü hoch.könntest dü mir vielleicht tipps geben was ich lernen soll?
    in bezüg aüf mathe ünd allen anderen.......

    ünd noch was ich hab dein video zü den blitzen gesehn...ünd ich braüchte so einen blitz ünd wollte fragen ob dü mir helfen könntest wenn dü mal zeit hast so welche zü erstellen..
    ich hab zwar schon selbst einen gemacht aber den hab ich nür in photoshop gezeichnet ünd ne animation daraüs gemacht.ünd ein blitzscript wäre natürlich viel besser.
    aber ich will nicht einfach nür copy & paste machen...ich will ihn mit deiner hilfe(falls dü dafür zeit hättest)selbst erstellen.damit ich es wirklich verstehe.


    Bitte was? Seit wann habe ich Videos auf meinem Youtube Kanal? Ich hab noch nie eins gemacht. Kannst du mir deine Infoquelle für das geben, ich glaub du verwechselst da jemanden.

    Nun ja, zurück zu den Accessorn:
    Beim estellen eines z.B. Arrays kann das so aussehen:

    GML-Quellcode

    1. array[0] = 230;
    2. array[1] = 220;
    3. array[2] = 178;

    Das ist absolut korrekt. Wenn man beim Ersten initialisieren @ verwenden würde, gäbe es einen Error.
    Aber wenn ich jetzt den Array in einem Script editieren wollte:

    GML-Quellcode

    1. ///scr_edit_array(2)
    2. array[argument0] = 400;

    dann kopiert es mir den Array.
    Zu dem Zeitpunkt des Editierens habe ich nun den oberen Array im Objekt und im Script habe ich:

    GML-Quellcode

    1. array[0] = 230;
    2. array[1] = 220;
    3. array[2] = 400;

    Wenn ich das Script abschliesse, wird der ganze kopierte Array in den Originalen getan. Macht ja nix wenn es so einfach programmiert ist und der Array nicht sehr gross ist, aber bei komplexeren Programmen kann das zu Problemen führen.
    Wenn ich den @ vorne hin setze wird der originale Array direkt editiert.