Vor/Hinter Objekt?

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

  • Vor/Hinter Objekt?

    hihoo!!
    Jemand ne Idee, wie ich checken kann, ob ein Objekt "Vor" oder "Hinter dem Spieler liegt?
    (der spieler dreht und bewegt sich)
    Also praktisch, die degree angabe, oder abweichung von player.direction zum Vector der zum Objekt führt?
    Versteht einer was ich meine? ;)
    Rappen hieß früher Stottern und war heilbar!


    Why choose?
  • Also du kannst das einstellen und zwar musst du die "Depht." verstellen.Wenn deine Spielfigur 0 hat und das Objekt hinter dem Spieler liegen soll kannst du das Objekt einfach auf 100 einstellen.Wenn es vor dem Spieler liegen soll dann kannst du -100 einstellen.
  • Original von Punish0r
    Also du kannst das einstellen und zwar musst du die "Depht." verstellen.Wenn deine Spielfigur 0 hat und das Objekt hinter dem Spieler liegen soll kannst du das Objekt einfach auf 100 einstellen.Wenn es vor dem Spieler liegen soll dann kannst du -100 einstellen.


    Falsch vorgestellt. Er meint es nicht optisch mit Überschneidung, sondern ob das Objekt auf dem Bildschirm vor oder hinter ihm ist. Also wenn der Spieler nach rechts schaut und das Objekt dann rechts vom Spieler ist, ist es davor, ist es links vom Spieler, dann dahinter.
    "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
    - Joseph Weizenbaum
  • geenau ^^

    Ich will für nen Kampfsystem für mein ST-Spiel Vordere und hintere Phaserbatterien einbauen, und die müssen natürlich erstmal checken, ob ein Feind vor oder hinter dem Schiff ist...


    hmm.. soweit ich das seh berücksichtigt point_direction keine drehung...
    Rappen hieß früher Stottern und war heilbar!


    Why choose?

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

  • Hat weniger mit Mathe als mit logischem Denken zu tun.
    Du willst rausfinden ob ein Object vor oder hinter einem ist.
    Was muss man dafür wissen?
    Die eigene Richtung und den Winkel der Geraden zwischen dem Spieler und dem Gegner reicht aus. Daraus errechnest du dann den Winkel zwischen der eigenen Richtung und der Geraden.

    GML-Quellcode

    1. richtung=direction;
    2. gerade=point_direction(x,y,gegner.x,gegner.y);
    3. winkel=abs(richtung-gerade);

    Wenn dieser Winkel zwischen 90 und 270 ist, dann steht der Gegner hinter dem Spieler, ansonsten davor.
  • @TrunX : Das geht noch kürzer :D:

    GML-Quellcode

    1. gerade=point_direction(x,y,gegner.x,gegner.y)
    2. winkel=abs(direction-gerade)


    Edit by Kilik Ich hab den Code mal berichtigt, damit das hier nicht in Spam á la "Das ist falsch." "Jetzt hab ich's berichtigt." "Ach so jetzt versteh' ich." ... usw mündet.
    Und in Zukunft bitte aufpassen, dass man im Eifer des Gefechts nicht zu viel wegkürzt.
  • Ihr habts ja scheinbar schon verstanden, aber der Vollständigkeit halber muß ich einfach fragen.

    Jemand ne Idee, wie ich checken kann, ob ein Objekt "Vor" oder "Hinter dem Spieler liegt?


    Wie wär's wenn Du mir verrätst, aus wecher Perspektive wir den Spieler betrachten !

    Edit: Oops, da habe ich wohl nicht den ganzen Thread gelesen.

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

  • Original von Windapple
    Original von Punish0r
    Also du kannst das einstellen und zwar musst du die "Depht." verstellen.Wenn deine Spielfigur 0 hat und das Objekt hinter dem Spieler liegen soll kannst du das Objekt einfach auf 100 einstellen.Wenn es vor dem Spieler liegen soll dann kannst du -100 einstellen.


    Falsch vorgestellt. Er meint es nicht optisch mit Überschneidung, sondern ob das Objekt auf dem Bildschirm vor oder hinter ihm ist. Also wenn der Spieler nach rechts schaut und das Objekt dann rechts vom Spieler ist, ist es davor, ist es links vom Spieler, dann dahinter.


    @David: Les dir auch mal alles durch! Verstehst du was gemeint ist?