tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1008
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von x_Red_Eagle_x
    x_Red_Eagle_x x_Red_Eagle_x ist offline Mitglied Gold
    Registriert seit
    Aug 2003
    Beiträge
    181
    Ich möchte ein Spiel (gleicht einem Puzzle) implementieren welches aus einem Spielbrett und verschiedenen Spielsteinen besteht. Die Spielsteine sollen auf das Spielbrett per Drag&Drop gezogen bzw. vom Spielbrett genommen werden.

    Ich habe mir zwei Varianten überlegt wie es funktionieren könnte:

    1. Jedes Objekt (Spielstein/Spielbrett) zeichnet sich selbst.
    Wie kann ich da Drag&Drop einbinden?
    Immer ein eigenes JPanel oder so verwenden?
    Da JPanels ja rechteckig sind und die Spielsteine nicht immer das ganze JPanel ausnutzen, gibt es sowas wie transparenz bzw. wie schaut es mit Spielsteinüberlagerungen aus?

    2. Das Spielfeld alles zeichnen lassen, da es sowieso wissen muss welche Spielfelder belegt sind und welche nicht.

    Ich kenne mich noch nicht wirklich gut aus in Java, also möchte ich mal um eure Meinungen zu dieser "Aufgabe" bitten. -> die GUI ist das größte Problem für mich (falls ein paar meinen es ist das Einzige, stimmt nicht ganz; das ist nur ein Teil vom Projekt)

    schon mal danke fürs durchlesen
    mfg

    PS: im Anhang ist ein Bild vom Spiel, dann wird das Problem vielleicht etwas klarer.
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Objekt selbst zeichnen lassen?-spiel.jpg  
     

  2. #2
    torsch2711 torsch2711 ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Ort
    Hessen
    Beiträge
    310
    Hmm, ich würde es nicht alles in einzelne objekte kapseln und das objekt sich selbst zeichnen lassen. Das objekt würde ich nur als Datenhalter nehmen, was im Modell selbst verwendet wird.

    Das spielbrett sollte nach einem update alles zeichnen lassen. Zur performance unterstützung würde ich dann aber nur teile des Fensters neuzeichnen lassen und nicht das ganze fenster. Da es kein schnelles "Action" Spiel ist, brauchst du auch kein Doublebuffering zu berücksichtigen um flackern zu vermeiden.

    Das wäre mein gedanke dazu. Wie sehen es die anderen?
    Willst du unbedingt bilder verwenden? Sprich ein Image, welches du eingescannt hast? Oder langt hierbei nicht einfach die Java2D API zu nehmen und die farbigen kreise selbst einbinden, bzw. die linienzüge?

    Ansonsten: Thomas Darimont hat mal einen schönen Thread bzgl. Spieleprogrammierung in Java aufgemacht: http://www.tutorials.de/forum/showthread.php?t=176378

    Hier wirst du bestimmt mit deinen Fragen fündig.

    Grüsse

    Torsten
     
    "There's nothing we have to fear, except Fear itself....."

  3. #3
    Registriert seit
    Apr 2004
    Ort
    Ruhrgebiet
    Beiträge
    1.582
    Zitat Zitat von x_Red_Eagle_x
    Ich möchte ein Spiel (gleicht einem Puzzle) implementieren welches aus einem Spielbrett und verschiedenen Spielsteinen besteht. Die Spielsteine sollen auf das Spielbrett per Drag&Drop gezogen bzw. vom Spielbrett genommen werden.

    Ich habe mir zwei Varianten überlegt wie es funktionieren könnte:

    1. Jedes Objekt (Spielstein/Spielbrett) zeichnet sich selbst.
    Wie kann ich da Drag&Drop einbinden?
    Immer ein eigenes JPanel oder so verwenden?
    Da JPanels ja rechteckig sind und die Spielsteine nicht immer das ganze JPanel ausnutzen, gibt es sowas wie transparenz bzw. wie schaut es mit Spielsteinüberlagerungen aus?

    2. Das Spielfeld alles zeichnen lassen, da es sowieso wissen muss welche Spielfelder belegt sind und welche nicht.

    Ich kenne mich noch nicht wirklich gut aus in Java, also möchte ich mal um eure Meinungen zu dieser "Aufgabe" bitten. -> die GUI ist das größte Problem für mich (falls ein paar meinen es ist das Einzige, stimmt nicht ganz; das ist nur ein Teil vom Projekt)

    schon mal danke fürs durchlesen
    mfg
    Wir hatten ein ähnliches Problem mit einem Schachprogramm, allerdings zunächst ohne Drag&Drop. Geht via Anklicken Ausgangsfeld-Zielfeld, kannst Dir die Sourcen ja mal anschauen: www.java-chess.de
    Und zum Thema Drag&Drop gab es hier im Forum auch schon Beiträge.
     

  4. #4
    Avatar von takidoso
    takidoso takidoso ist offline Mitglied Brillant
    Registriert seit
    Aug 2004
    Ort
    Kömigstein
    Beiträge
    911
    Halli hallo,
    also ich habe solche Dinge imemr so gelöst indem ich die paintComponent-Routine für meine Bedürfnisse angepasst habe.
    diese Zeichnet dann anhand der Spielsteine, die ihr eigenes Image beinhalten, die sie aus einem Spiel-Model (s. MVC) bekommt.
    Drag und Drop habe ich bisher nie in der 'neueren' Java-Standard-Technik bewerkstelligt, sondern immer mit den Mouse- und MouseMove-Listenern (oder wie die so heißen). Man benötigt für solches dann natürlich entsprehcende KoordinatentransformationsRoutinen, die die physische Mouse-Koordinate in eine logische umrechnen und umgekehrt. (Ist eigentlich nichts anderes als Dreisatz-Rechnung, da man ja die Größe des Panels berücksichtigen muß.)

    Da ich bisher sowas immer nur in Swing bewerkstelligt habe, habe ich mich um double-buffering nie wirklich gekümert, denn Swing liefert das ja eigetnlich mit.

    (hier mal Reklame in eigener Sache )
    Ich habe einen Prototypen eines Schachspiels, welches man mit 4 Personen spielen kann.
    Es ist als Java-Webstart-Anwendung gebaut und funktioniert auch weitgehend sogar übers Netz, mit sicher noch dem ein oder anderen Bug.

    http://schachspiele.game-host.org

    (dies ist allerdings eine Seite mit einer dynamschen IP, und nur dann online, wenn ich explizit freischalte. Also nicht wundern wenn sie öfters nicht im Netz ist.)

    Takidoso
     

Ähnliche Themen

  1. Tabelle selbst zeichnen
    Von Nehemia im Forum Java
    Antworten: 4
    Letzter Beitrag: 19.03.10, 12:45
  2. Geschwungene Linien, die sich selbst zeichnen (Maskeneffekt)
    Von windwalk im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 30.01.08, 15:52
  3. [PHP5 - OOP] Objekt killt sich selbst
    Von robkoch86 im Forum PHP
    Antworten: 4
    Letzter Beitrag: 07.10.05, 16:22
  4. Möchte Grafiken selbst zeichnen
    Von thodtie im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 7
    Letzter Beitrag: 29.10.04, 20:03
  5. Form selbst zeichnen
    Von jccTeq im Forum .NET Archiv
    Antworten: 7
    Letzter Beitrag: 27.08.04, 14:25