Fadenkreuz auf Kreisbahn, dem Spieler folgend.

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

  • Fadenkreuz auf Kreisbahn, dem Spieler folgend.

    Guten Abend zusammen,

    Spät is es... mein Kopf eigentlich schon im Bett :)

    Aber vll könnt ihr mir weiterhelfen?

    Ich hätte gerne in meinem Spiel ein Fadenkreuz das a) Sich auf einer Kreisbahn um den Spieler bewegt b) aber nicht um die kompletten 360° und c) sich mit der Maus steuern lässt (Mit dem Mauszeiger auf der Kreisbahn sich mitbewegt).
    Nur leider bin ich gerade wirklich überfragt, wie man das ganze verwirklichen könnte.

    Aber vll habt ihr so etwas schon mal gemacht, oder habt mir Rat? Im Anhang auch eine kleine Verkünstelung von mir, wie ich mir das ganze vorstelle.
    Danke für Tipps, Tricks und Anregungen im Vorraus :)
    Bilder
    • gmdfrage.png

      4,1 kB, 320×240, 293 mal angesehen
  • Falls das Fadenkreuz ein eigenständiges Objekt ist und es nach oben Richtung 0 Punkt in der y-Achse geht, kann man es so umsetzen:

    GML-Quellcode

    1. //Im Step-Event des Fadenkreuz Objektes
    2. x=obj_spieler.x+lengthdir_x(32,point_direction(obj_spieler.x,obj_spieler.y,mouse_x,min(mouse_y,obj_spieler.y)));
    3. y=obj_spieler.y+lengthdir_y(32,point_direction(obj_spieler.x,obj_spieler.y,mouse_x,min(mouse_y,obj_spieler.y)));


    Ansonsten hilft der Ansatz ja vielleicht zu deiner gewünschten Lösung.
    Meine Spiele:
    - Mission A
    - Mission B
    - The Virus 1, 2, 3
    - The Virus 4: The Excision
    - Blur melts Snow
    - Blur melts Snow: 2nd Version
    - Cave Jumper

    Hauptrojekt: Party Mania(Arbeitstitel) - große Multiplayer-Minispielsammlung
    In Planung: Planet Jumper(Nachfolger von Cave Jumper)
  • Ist mit lengthdir gut zu lösen. Den Bereich kann man mit clamp einstellen, wobei ich da eine if-Abfrage bevorzugen würde, ob sich die Maus in dem Bereich befindet.


    GML-Quellcode

    1. richtung = 90 // z.B. nur 90° mit +/- 45°
    2. draw_circle(
    3. x+lengthdir_x(128 , clamp(point_direction(x,y,mouse_x,mouse_y),richtung-45,richtung+45)) ,
    4. y+lengthdir_y(128 , clamp(point_direction(x,y,mouse_x,mouse_y),richtung-45,richtung+45)) ,
    5. 2 , 0)
    Husi012 hat mich nicht mehr in seiner Signatur, ich bin trotzdem noch fame.