Dynamiche Bildgenerierung, wie am besten anstellen?

DonDemf

Erfahrenes Mitglied
Hallo Leute,
ich dringe nun für mich persönlich in einen neuen Bereich von PHP vor. Ich habe vorher noch nie mit image funktionen etc. gearbeitet. Und zwar geht es sich um folgendes:

Auf meiner Webseite hat jeder user ein Fußballteam + dazugehörigen Kader, um zu transferieren etc.

Nun möchte ich dem User noch ein kleines Feature für die gute Laune bescheren.

Und zwar will ich als Hintegrund Bild ein vertikales Fußballfeld haben. Der user kann sich eine formation aussuchen (4-1-2-1-2, 4-3-3 etc.) je nachdem welche formation er sich aussucht sollen Drop-Down Felder an den einzelnen positionen erscheinen, wo er dann den Wunschspieler für diese positon auswählen kann..

Ähnlich wie im alten Fußball Manager:
http://static.sftcdn.net/de/scrn/75000/75908/fussball-manager-09-18.jpg

Ich denke mal, dass ich die bereiche auf dem bild irgendwie bestimmen muss etc. aber ich habe keine ahnung wie ich das machen soll.... kann mir jemand hier nen paar Gedankenanstöße dazu geben? Ich weiß echt nicht wo ich anfangen soll.

Vielen dank im voraus!



edit: Habe gerade as hier gefnden: http://nulpe.nu.ohost.de

Das kommt ziemlich nah an meien vorstellung ran!
 
Zuletzt bearbeitet:
Also wenn du an den Spielerpositionen Auswahllisten erstellen willst, dann hat das nicht mit den image-Funktionen zu tun.

Ich würde dann in einer Datenbank die Koordinaten speichern wo die Listen erscheinen sollen und diese dann entsprechend mit Hilfe von CSS positionieren.
 
Der user kann sich eine formation aussuchen (4-1-2-1-2, 4-3-3 etc.) je nachdem welche formation er sich aussucht sollen Drop-Down Felder an den einzelnen positionen erscheinen, wo er dann den Wunschspieler für diese positon auswählen kann..

edit: Habe gerade as hier gefnden: http://nulpe.nu.ohost.de

Das kommt ziemlich nah an meien vorstellung ran!
Dann dürfte dir hier das Thema Dropdown-Feld aus Datenbank füllen behilflich sein, der entdeckten "Arbeitsvorlage" noch den gewünschten Feinschliff zu verpassen.


Anmerkung:

Mein Link führt dich direkt zu "Post #6" mit dem Lösungscode und zugehörigen Demo-Link, also bitte auch das Thema von Beginn an lesen, um hier den Zusammenhang zu verstehen, und es nicht kopflos direkt mit copy & paste versuchen zu wollen, was in den wenigsten Fällen von Erfolg gekrönt war/ist, und letztlich hier mit der aussagelosen Rückmeldung "Das funktioniert bei mir nicht." aufzuschlagen.
 
Zuletzt bearbeitet:
Ich hänge dir hier mal ein Beispiel dran wo das mit einem kleinen JavaScript gelöst ist.

Die Positionierung ist dabei zwar nicht genau so wie sie sein sollte und es gibt auch noch nocht alle Spieler, aber es ist ja auch nur als Beispiel gedacht.
 

Anhänge

gut, also ich habe jetzt das javascript so weit ausgebaut, das die formaton 4-1-2-1-2 gezeigt wird.
http://fifaplace.pytalhost.com/fifaliga/spielfeld/spielfeld.html

wie realisiere ich es, dass wenn oben beispielweise 4-3-3 ausgewählt wird, dass dann eine 4-3-3 formaton angezeigt wird usw.?

Die dropdowns zu füllen ist ja kein problem mit php.

Und Danke für die wirklch tolle Hilfe. in anderen foren wird man für unwissenheit angeschnauzt.


edit:
habe gemerkt, dass der die positionen schon wechselt, jedoch nicht im firefox.
also gibt es 2 neue fragen für mich,
a= wie mache ich es im firefox
b= wie stelle ich die positionen ein?
 
Zuletzt bearbeitet:
Sorry, war wohl ein Fehler von mir.
Bei den CSS Angaben "left" und "top" darf nur die Zahl angegeben werden aber nicht "px".

Im JavaScript muss es also so aussehen:

Javascript:
for ($a = 1; $a < 5; $a++) {
    document.getElementById("s" + $a).style.left = pos_x[$a-1];
    document.getElementById("s" + $a).style.top = pos_y[$a-1];
}

und im HTML Code beispielsweise so:

HTML:
<div id="tor" style="position: absolute; left: 350; top: 100; z-index: 1;">

Damit die Spielerlisten neu positioniert werden musst du im Javascript die Arrays "pos_x" und "pos_y" mit den entsprechenden Werte füllen.
 
Also ganz verstehe ich das mtt dem Java nicht. Ich habe jetzt folgenden code:

HTML:
if (form == 1) {
    pos_x = new Array(150);
    pos_y = new Array(200);
} else if (form == 2) {
    pos_x = new Array(150);
    pos_y = new Array(200);
} else if (form == 3) {
    pos_x = new Array(200);
    pos_y = new Array(200);
}
Wenn ich jetzt die Aufstellung ändere, tut sich gar nichts mehr. Das ist ja auch nachvollziehbar.

Ich weiß jetzt jedoch nicht, welche werte ich da zusätzlich einfügen muss, damit beim Aufstellungswechsel auf 4-3-3 der ZDM (defensive Mittelfeld Spieler, vor der Abwehr) nach vorne seine position ändert und der rm und lm etwas nach außen Rücken.

http://fifaplace.pytalhost.com/fifaliga/spielfeld/spielfeld.html
 
Also die Liste die in meinem Beispiel den Namen "formation" trägt liefert ja die Werte 1, 2, 3 usw. Mit diesen Werten wird die Javascript Funktion aufgerufen und die IF-Anweisung gesteuert.

Im IF-Block werden für die im Beispiel vorhandenen 4 Spieler (der Torwart zählt nicht dazu da er ja einen festen Platz hat) die Positionen definiert.

Javascript:
// die Werte für den CSS Wert "left"
pos_x = new Array(Spieler1, Spieler2, Spieler3, Spieler4, ..., Spieler10)
// die Werte für den CSS Wert "top"
pos_y = new Array(Spieler1, Spieler2, Spieler3, Spieler4, ..., Spieler10)

Du musst dir jetzt halt einmal die X/Y Werte ermitteln an die die einzelnen Listen gesetzt werden müssen und dann diese Werte in das jeweilige Array eintragen.
 
Zurück