Anzeige:
Ergebnis 1 bis 2 von 2

Thema: browsergame karte (<area> mit bild drauf?)

  1. #1
    Registrierter Benutzer
    Registriert seit
    23.04.2005
    Beiträge
    52

    browsergame karte (<area> mit bild drauf?)

    hi,
    ich versuche grade eine mit PHP dynamische landkarte zu erstellen.

    das mache ich so:

    Code:
    Code:

    Code:
    echo '
                <h2>Karte</h2>
                <br><br>
                <div>
                      < map name="karte">
            ';
            $sys=GET("sys"); // das ausgewählte system
            if($sys=='') // wenn kein system angegeben wurde...
            {
               $planet =implode(mysql_fetch_row(mysql_query('SELECT planet FROM stations WHERE UID='.$UID.' AND typ="capitol"'))); // den planet aussuchen wo das kapitol liegt
               $system =implode(mysql_fetch_row(mysql_query('SELECT system FROM planets  WHERE ID='.$planet))); // das system aussuchen wo der eben genannte planet liegt
               $posA   =implode(mysql_fetch_row(mysql_query('SELECT posA   FROM systems  WHERE ID='.$planet)));
               $posB   =implode(mysql_fetch_row(mysql_query('SELECT posB   FROM systems  WHERE ID='.$planet))); // die positionen von dem oben gennannten system raussuchen
            }
            else // wenn ein system angegeben wurde
            {
               $posA   =implode(mysql_fetch_row(mysql_query('SELECT posA FROM systems  WHERE ID='.$sys))); // positionen von dem ausgewählten system raussuchen.
               $posB   =implode(mysql_fetch_row(mysql_query('SELECT posB FROM systems  WHERE ID='.$sys)));
            }
          echo $posB.' - '.posA; // is nur zum test ob die positionen richtig rausgesucht wurden.
    
    
            $result=mysql_query('SELECT ID,name,posA,posB FROM systems WHERE (posA>'.($posA-300).' AND posA<'.($posA+300).') AND (posB>'.($posA-300).' AND posB<'.($posA+300).')'); // es werden alle systeme rausgesucht die maximal 300einheiten von unserem system entfernt sind.(damit sie ins bild passen^^)
            while(@$row=mysql_fetch_array($result, MYSQL_NUM))
            {
               $row[2]=$posA-$row[2];
               $row[3]=$posA-$row[3]; // die rausgesuchten positionen werden von denen abgezogen die ausgewählt wurden.
    
                echo '
                       <area shape="rect" style="" coords="'.$row[2].','.$row[3].','.($row[2]+15).','.($row[3]+15).'" alt="'.$row[1].'" style="background-color:white">
    
                       <img src="images/star.PNG" style="position:absolute; top:'.$row[2].'; left:'.$row[3].'" width=15 height=15> // dies SOLLTE eigentlich das bild genau auf dem stern platzieren, tuts aba nich.
                ';
           }
    
            echo '
               </map><p><img src="images/karte.png" width="600" height="600" alt="Karte" style="border:2;" usemap="#karte"></p></div>
          ';

    das problem:

    da die areas selber kein bild dorthin manchen muss ich mit <img> selbst eins hinmachen. aber diese werden mit style="position:absolute; top:xxx; left:xxx" nicht in die karte gepackt sondern links oben an den fenster rand.
    abmessen und addiren geht auch nicht weil sich die karte nich immer genau am gleichen punkt im fenster befindet.

    was kann ich machen damit die bilder genau auf dem area platziert werden?

  2. #2
    Registrierter Benutzer Avatar von Romanday
    Registriert seit
    03.02.2004
    Beiträge
    829
    Zitat Zitat von GU4RDI4N
    hi,
    was kann ich machen damit die bilder genau auf dem area platziert werden?
    Das ist kein PHP Problem sondern HTML.
    Schlag mal bei selfhtml nach und probiere mal verschiedene
    Varianten auf unterschiedlichen Browsern trocken ohne PHP aus.
    Abriss, bzw. die Sprengung des World Trade Centers
    WDR Dokumentation
    Doku + DT Untertitel
    Weitere Infos - Terrorstorm

Lesezeichen

Berechtigungen

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