wie kann man corlisionen zählen und so sein sprite ändern ?

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

  • wie kann man corlisionen zählen und so sein sprite ändern ?

    kann mir wer genau schreiben wie der skript heisen würde wenn dass objekt, das sich verwandeln soll zahl heist ,die objekte die das objekt zahl berühren bombe heisen und die versiedenen sprites 1,2und 3 heisen. Also noch mal versrändlich gesagt ein objekt (zahl) soll je nach anzahl der berührenden vom objekte (bombe) sich in die verschiedenen sprits 1 bei einer berührung, sprite 2 bei 2 berührungen und bei der dritten berührung in sprite 3 verwandeln.
  • Spoiler anzeigen
    Das würde ca. so aussehen:

    Alles im Objekt 'zahl':

    Create Event:

    GML-Quellcode

    1. anzahl_collisionen=0; //In dieser Variable ist die Anzahl der bisherigen Kollsionen gespeichert. Zu Beginn ist sie logischerweise 0


    Collision Event (Mit Bombe-Objekt):

    GML-Quellcode

    1. anzahl_collisionen+=1; //Erhöht die Anzahl der Kollisionen um 1


    Step Event:

    GML-Quellcode

    1. if (anzahl_collisionen==0) //Wenn das Objekt noch nie berührt wurde...
    2. {
    3. sprite_index=1; //...hat es den Sprite namens '1'
    4. }
    5. if (anzahl_collisionen==1) //Wenn das Objekt 1 mal berüht wurde...
    6. {
    7. sprite_index=2; //...hat es den Sprite namens '2'
    8. }
    9. if (anzahl_collisionen==2) //Wenn das Objekt 2 mal berüht wurde...
    10. {
    11. sprite_index=3; ...hat es den Sprite namens '3'
    12. }
    13. //HINWEIS: Man hätte diesen Teil auch mit der sog. "switch"-Struktur machen können,
    14. //für einen Einsteiger (für den ich ich dich halte) ist diese Methode aber einfacher zu verstehen
    Alles anzeigen


    Hoffe ich konnte dir helfen und bitte tippe diese Codes per Hand ein und kopiere sie nicht einfach in dein Spiel. Nur so verstehst du die Zusammenhänge!
    Wenn du einzelne Teile des Codes nicht verstehst, suche am Besten zuerst in der Hilfe danach.

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

  • nein ich werde dir kein script schreiben....das würde keinerlei lernfaktor beinhalten!
    hier wie du es in drag&drop löst:

    im objekt zahl


    //dieses event wird immer aufgerufen wenn das objekt erstellt wird (bei dir wahrscheinlich wenn der room startet)


    var: treffer
    value: 0
    //wenn der room nun startet erhält dein objekt diese variable "treffer"

    okok ich gebs zu, um das ganze individueller und flexibler zu gestalten kommt ein kleines stück code dazu

    GML-Quellcode

    1. bild[0]=deinsprite0;
    2. bild[1]=deinsprite1;
    3. bild[2]=deinsprite2;
    4. bild[3]=deinsprite3;
    5. //hier haben wir ein array erstellt das wir später nutzen können um die sprites leichter zuzuweisen


    mit bombe
    //dieses event wird immer aufgerufen wenn das objekt zahl das objekt bombe berührt


    var: treffer
    value: 1
    relative an
    // die variable treffer wird um 1 erhöht wenn


    GML-Quellcode

    1. sprite_index=bild[treffer];
    2. //nun weisen wir dem objekt zahl den sprite zu der das "trefferigste" glied aus dem array bild ist.
    3. //das array bild haben wir im create event definiert



    other
  • Das ist doch albern. Dann würd die Zahl stetig steigen.
    Sieht mir ganz so aus, als wolltest du einen Minesweeper-Klon erstellen.
    Du musst das Skript im Stepevent oder Createevent (eigentlich noch besser) ausführen und abfragen, ob rechts, rechtsoben, oben,linksoeebn,.... eine Bombe liegt. Dann ne Variable erstellen und immer, wenn die Abfrage wahr ist, die Variable hochzählen. Am Ende hast du dann die Anzahl der umliegenden Bomben.
    Wenn du nicht weißt, wei du das machen sollst, dann guck in der Hilfe nach, da solltest du alles finden.
    Ich hoffe der Ansatz hilft dir weiter.

    Edit: Oo wieso gibts den Thread so ungefähr 3 mal?!

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

  • Benutzer online 1

    1 Besucher