Anfänger hat ein paar Fragen (klick-events nur in reichweite spielerfigur und schwertschlag)

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

  • Anfänger hat ein paar Fragen (klick-events nur in reichweite spielerfigur und schwertschlag)

    Hallo miteinander.
    Ich habe vor jahren mal in GMS spiele angefangen zu schreiben, kam aber nie über das Drag and Drop (also kein GML) hinaus.
    Jetzt würd ich gerne wieder anfangen. Alles nachfolgende wurde durch klickerei und nicht mit Code erstellt, wenn mir jemand antwortet dann bitte per möglichkeit auch ohne code oder nur sehr einfachen.
    Ich habe einen 2d-raum erstellt, topdown, in dem ein charakter steht und eine kiste.
    Der Charakter wird mit WASD gesteuert und mit einem mausklick sollte man mit der kiste interagieren.
    Ich will nun dass der Charakter die kiste kaputtschlägt. Hab ich auch wunderbar hingekriegt, in dem der Charakter falls er mit der Kiste in Kollision kommt, per Mausklick auf die Kiste diese zerstört.
    Ich will aber eigentlich, dass der Charakter in der nähe der kiste stehen muss, sie also nicht berühren muss, und die kiste per klick kaputtschlägt (kill von der instance). Wie geht das?
    Desweiteren würde ich gerne ein Angriff je nach ausrichtung des Heldens machen, bei dem er mit einem Schwert oder sowas zuschlägt. Ich hab mit create instance herumexperimentiert und wollte, dass sich das schwert an der X und Y-Koordinate des Helden orientiert, irgendwie war dann das neu erschienene schwert einfach irgendwo. Gibts da ein gutes und aktuelles Tutorial?
    Grüsse
  • Wieso so viele Views und keine Anworten bei sowas Leichtem? Versteh ich nicht.

    Also dass der Charakter nur in der Nähe stehen muss kannst du mit der Funktion point_dstance abfragen. Musst mal in der Hilfe nachlesen.
    If point_distance(spieler.x, spieler.y, kiste.x, kiste.y) < gewünschte Distanz then zerstören.

    Und was dein zweites Problem betrifft so musst du natürlich dem Schwert beim ertstellen die aktuelle Position des Spielers sagen.
    Z.B. Kannst des so machen:

    GML-Quellcode

    1. var schwert = instance_create(0, 0, Schwert);
    2. schwert.x = Spieler.x;
    3. schwert.y = Spieler.y;


    oder

    GML-Quellcode

    1. instance_create(Spieler.x, Spieler.y, Schwert


    Du kannst also beim ertstellen einer neuen Instanz schon die Variablen der Instanz bestimmen und ihnen z.B: den Wert der Variablen der Instanz mitgeben, die die neue Instanz erstellt.