tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von genodeftest
  • 1 Beitrag von genodeftest
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
497
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Hi,
    ich will mich mal mit Spieleprogrammierung in Java beschäftigen.
    Natürlich nur kleine Spiele(begrenzte Leistung in java).
    Bis jetzt habe ich es mit dem Package java.awt versucht.

    Meine Frage ist ob dass der richtige Weg für Multimediaprogrammierung ist, oder ob
    man dafür spezielle Bibliotheken verwenden sollte.

    Übrigens bin ich relativ erfahren in Java bis auf Spieleprogrammierung.
     

  2. #2
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    Hi,
    also prinzipiell ist java.awt eine gute Basis. Natürlich kannst du darauf noch Libraries setzen. Aber es geht auch erstmal nur um das grundlegende Prinzip.
    Als Beispiel kann man sich auch auf der Seite java2s ein paar Beispiele ansehen, die rein mit der Java-Api programmierten sind (unter anderem auch 3D).

    Gruß

    Fabio
     
    Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]

    Tutorials:
    Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
    JAnimationPanel - Animationen für Swing/AWT
    SWTRatingBar (Bewertungs-Composite) selbst programmieren
    ____________________________________________________________________________
    Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.

  3. #3
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Danke, dann bin ich also doch auf dem richtigen Weg.
    Ich habe nämlich ein kleines Towerdefence Spiel gemach.
    Wäre ärgerlich alles wider umzuändern.

    Jetzt habe ich aber noch eine Frage:
    Wie wende ich die Klasse Graphics (oder auch graphics2d) dann an.
    Also erstmal brauch ich ein Fenster: JFrame
    Und wie weiter****

    Mein Weg: (fals dass völliger Schwachsinn ist bitte nicht lachen das stand so in meinem Buch)
    Ich habe die klasse JPanel erweitert und da dann die Methode repaint() überschrieben.
    Ist das so richtig oder muss ich das ganz anders angehen?

    Das kommt mir nämlich etwas umständlich vor.
    Geändert von lonol15 (26.01.12 um 17:05 Uhr)
     

  4. #4
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Nicht ganz. Du sollst ein JPanel nehmen (das ist so üblich, wenn man Swing nutzt). Aber du sollst nicht (auf gar keinen Fall!) repaint() überschreiben, sondern die Methode paintComponent(). Graphics2D bekommst du, indem du in dieser Methode dein Graphics-Object zu einem Graphics2D-Objekt castest:
    Code java:
    1
    2
    3
    
    @Override
    public void paintComponent(Graphics g){
        Graphics2D g2 = (Graphics2D) g;
    und dann kannst du g2 genauso wie g benutzen.
    Eine kleine Anmerkung noch: du solltest die Referenz auf dieses Objekt (g oder g2) nicht speichern (z.B. in einem Attribut irgend einer Klasse), sondern nur an andere Methoden bei deren Aufruf übergeben, damit auch diese zeichnen können.
    lonol15 bedankt sich. 
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  5. #5
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Ich meinte paint(Graphics g). (Schreibfehler)
    Wo ist der Unterschied zwischen paint() und paintComponent()?
     

  6. #6
    genodeftest genodeftest ist offline Mitglied Brillant
    Registriert seit
    Jun 2009
    Beiträge
    870
    Bei AWT-Componenten (aus dem Paket java.awt) solltest du die Methode paint() benutzen. Bei Swing-Componenten (aus dem Paket javax.swing) sollte man paintComponent() benutzen. In Swing-Componenten gibt es (leider) noch den Zugriff auf die Methode paint(), weil die Swing-Klassen größtenteils von AWT-Componenten erben. Genaueres dazu unter http://docs.oracle.com/javase/tutori...ng/closer.html
    lonol15 bedankt sich. 
    Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  7. #7
    lonol15 lonol15 ist offline Mitglied Silber
    Registriert seit
    Oct 2011
    Beiträge
    78
    Dann ändere ich die paint methode also einfach in paintcomponent?
    Das mach irgendwie keinen Unterschied.
     

Ähnliche Themen

  1. Spieleprogrammierung
    Von anfängerregnäfna im Forum Coders Talk
    Antworten: 2
    Letzter Beitrag: 14.11.11, 21:27
  2. Spieleprogrammierung
    Von warlike im Forum Java
    Antworten: 2
    Letzter Beitrag: 15.06.05, 18:38
  3. Spieleprogrammierung
    Von Patrick Kamin im Forum Coders Talk
    Antworten: 26
    Letzter Beitrag: 31.08.04, 12:17
  4. 3D Spieleprogrammierung mit C++
    Von pogo im Forum C/C++
    Antworten: 11
    Letzter Beitrag: 24.04.02, 16:01