Ergebnis 1 bis 15 von 15

Thema: Wie lässt sich Auto-Aim implementieren?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #6
    du musst doch nichmal alle felder auf der map abfragen, es reicht ja, wenn du das rechteck zwischen

    startpunkt x

    und
    endpunkt y

    durchläufst.

    wäre also dein startpunkt 3/1 und dein endpunkt 5/3
    sähe das ja wie folgt aus:

    Code:
      1 2 3 4 5 6
    1 x x o o o x
    2 x x o o o x
    3 x x o o o x
    4 x x x x x x
    x wird nicht geprüft, o wird geprüft.

    und jetzt ist es eigentlich eine reine mittelstufen aufgabe, zu berechnen, ob ein quadrat geschnitten wird, oder nicht.

    jede strecke hat eine steigung, in dem fall 1/1 bzw in pixel dann 16/16.
    diese steigung findest du heraus und rechnest sie eben auf die tiles runter (bei 24/8 z.b. wärst du dann bei 16/5,33 (die kleinere zahl durch die größere * 16, die größere wird automatisch 16). dann kannst du einfach immer einmal die steigung drauf rechnen und testen ob das tile passierbar ist oder nicht.

    EDIT: und da dein geschoss ja sicherlich auch eine gewisse größe hat, musst du eben in einer schleife dann noch die horizontale/vertikale in eben der größe des objects berechnen.
    sähe in pseudo code dann vll so aus:

    Code:
    int XStart, YStart;
    int XEnde, YEnde;
    float XSteigung, ySteigung;
    int XGeschoss, YGeschoss;
    if (XSteigung >= YSteigung)
    {
       YSteigung = YSteigung / XSteigung * 16;
    }
    else
    {
      entsprechend dann für den anderen fall
    }
    
    bool canMove = true;
    int curX = XStart, curY = YStart;
    while (canMove)
    {
       for (für die geschossbreite und höhe in die richtungen wiederholen)
           canMove = CheckMapTile(curX, curY);
    
       curX += XSteigung;
       curY += YSteigung;
    }
    natürlich nicht komplett ausformuliert, wie es sein muss, aber sollte zur verdeutlichung reichen, was ich meine.

    Geändert von DNKpp (11.04.2012 um 17:31 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •