Zielen im bestimmten Radius

  • GM 8

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

  • Zielen im bestimmten Radius

    Hallo an alle.

    Ich sitze nun nach einer laengeren Pause wieder an meinem JnR Shooter "You Wont Poop On My Ground" und sehe mich mit dem bisher schwierigsten Problem konfrontiert. Und zwar haette ich es sehr gern so, dass der 1. Spieler mit der Maus zielen und schiessen kann. Kein Problem, nur soll sich das Fadenkreutz nur bis zu einem bestimmten Radius um den Spieler herum bewegen, also der Maus kreisfoermig folgen, wenn es zu weit von dem Spieler entfernt ist. Ich bekomme nur hin, dass es stehen bleibt, sich aber nicht um den Spieler bewegt, wenn die Maus weiter bewegt wird. Hat einer von euch eine Idee oder Formel? Das waere wirklich super! Er wird dann dankend in den Credits erwaehnt ;)

    Mfg
  • Vielleicht ginge dies, wenn du das Fadenkreuz mit hoher Geschwindigkeit der Maus folgen lässt, aber im Fadenkreuz ein Kollisionsevent einbaust und einen unsichtbaren Kreis um den Charakter erstellst, sodass das Fadenkreuz nicht aus dem Kreis herauskommt (collision).
    ABer ich bin selbst Anfänger :P aber dies käme mir jetzt spontan in den Sinn.

    gruß
    naibaf
    True story!
  • Sollte mit lengthdir_x(len,dir) und lengthdir_y(len,dir) machbar sein für die x und y Koordinaten des Fadenkreuzes.
    Als dir nimmst du point_direction(x,y,mouse_x,mouse_y).
    len wäre der Abstand zum Spieler. Wenn der abstand nicht konstant sondern nur maximal bestimmt sein soll. arbeitest du mit min() mit dem Abstand zur Maus und dem maximalen Abstand als Argumente.
  • Vielleicht auch:

    GML-Quellcode

    1. if distance_to_object(obj_player)>150//150 kannst du beliebig ersetzen
    2. {
    3. speed=0
    4. }

    Alles ins Step-Event vom Fadenkreuz, und noch obj_Player durch den Namen deines Spieler Objekts ersetzen.
    Bin mir aber nicht sicher d.h. ich habs nicht getestet.
  • Problem Gelöst

    Hey Leute, danke für eure Anteilnahme!

    Ich hab schon vorher Sachen in den Richtungen versucht, die ihr hier angesprochen habt, aber es hat nie ganz so geklappt, wie ich es wollte.
    Das Zielkreuz hing dann meistens fest oder ähnliches, also hat sich nicht weiter bewegt, auch wenn die Maus bewegt wurde und anderes...

    Ich hab's jetzt aber anders gelöst und bin zufrieden! Die Maus und damit auch das Zielkreuz bleiben einfach in der View gefangen und somit kann das Ziel nicht mehr herumspringen, wenn man in die View des 2. Spielers kommt (was vorher immer passierte).

    Dieses Problem ist also als GELÖST zu betrachten. Ich schreib mal den Code unten auf, falls noch jemand ein ähnliches Problem hat.

    Danke trotzdem an euch!



    Am besten ins Step, Begin Step und End Step Event, damit es schneller und genauer berechnet wird:

    GML-Quellcode

    1. x = mouse_x
    2. y = mouse_y
    3. if window_mouse_get_x() < 0 window_mouse_set(0,window_mouse_get_y())
    4. if window_mouse_get_x() > view_wview[0] window_mouse_set(view_wview[0],window_mouse_get_y())
    5. if window_mouse_get_y() < 0 window_mouse_set(window_mouse_get_x(),0)
    6. if window_mouse_get_y() > view_hview[0] window_mouse_set(window_mouse_get_x(),view_hview[0])