Grafische Benutzeroerflächen und Spiele Programmirung

--->

Mitglied
Grafische Benutzeroerflächen und Spiele Programmirung

Sehr geehrte Community,
Ich habe vor kurze mit der Java Programmierung begonnen
und mir ein Grundlagenbuch gekauft. :rtfm:
Mithilfe dieses Buches habe ich mehrere einfache Programme pogrammiert.
Jetzt kenne ich hoffentlich die Grundlagen der Java programmierung.

Ich würde gerne einfache Spiele und zumindest Grafische Benutzeroberflächen
programmieren bzw. in meine Programme einbinden.

Meine Fragen sind:


  1. Kennt ihr gute Bücher/ Internetseiten/ oder Videos (z.B You Tube Videos oder ein Video Trainig)
    die eklären wie man Spiele Programiert oder Grafische Benutzeroberflächen erstellt.
    Die Quellen könne auch ruhig mal etwas komplietzierter sein.
    Ich Google auch mal gerne Bezeichner und Befehle.
    Wichtig ist aber das die Informationen umfassend sind
    und keine wichtigen Themen auslassen.
    Die Spieleprogrammierung ist mir besonders wichtig. :popcorn:
  2. Kennt ihr gute (/Bücher/) Internetseiten/ oder Videos (z.B You Tube Viedeos oder ein Video Trainig)
    die Erklären wie man aus ".class" Datein "Jar Archive" oder ".exe" Datein macht. :rtfm:

  3. Kennt ihr gute Bücher/ Internetseiten/ oder Videos (z.B You Tube Videos oder ein Video Trainig)
    die Erklären wie man Android Apps mit Java erstellt.
[WR]
Wichtig ist aber das die Informationen umfassend sind
und keine wichtigen Themen auslassen.[/WR]

Wenn ihr solche Quellen kennt die ihr möglicherweise sogar schon selbst Gestestet habt,
wäre es echt nett wenn ihr sie mir mitteilt.

[DUKE]Euer --->[/DUKE]
 

Anti-Banane

Gesperrter Benutzer
sorry für folgendes ... aber anders kann man dir nicht antworten

erstens : mit diesem thread hast du dich selbst zum FAIL der woche gekrönt
ich mein ... hallo ... was geht'n mit dir ab ? grad mal [c]public static void main(String[])[/c] auf die reihe bekommen und dann gleich großer (Android-)Spiele-Dev werden wollen ?
das kannste mal abhaken und dir als möchtegern-ziel in 2-5 jahren setzen
bis man es soweit drauf hat vergeht sehr viel zeit

zweitens : deine text-formatierungen machen das ganze auch nicht gerade besser ... eher im gegenteil ... sie ziehen es nur irgendwie noch weiter ins lächerliche und lassen erahnen das du noch zur ganz jungen generation gehörst
sowas sollte man sich echt kneifen wenn man ne ernste frage hat

drittens : bücher/seiten/videos ... kannst du dich mal für eins entscheiden ? sicher, multimedialität ist gut, aber von youtube-videos würde ich dir grundsätzlich abraten ... man bekommt alles auf dem silbertablett und versteht meist auf grund der mega schlechten erklärung und teilweise eigenem unwissen des erstellers nicht was da eigentlich abgeht

viertens : du bist bereits zu googlen ... seh ich ... NOT
weil wenn du dazu bereit wärst dann hättest du dir deine zweite frage schon längst selbst beantworten können
ich bin mal schwein und werden dir NICHT veraten wie das geht oder wo man sogar direkt offizielle infos zu sowas bekommt
thema EXE : in java absolutes NO-GO und bloß für verweichtliche windows-user die mit einem .jar nichts anfangen können
und auch zu drittens liefert der entwickler selbst ne ausführliche doc (ich werd es jetzt mal nicht beim namen nennen ... das wäre zu einfach)



kurz : an diesem wirklich ziemlich lächerlichem post erkennt man sowohl deinen wissensstand ... würden sagen nicht mal halbwegs grundlagen ... dein bereitwilligkeit ... nämlich nicht vorhanden ... sonst hättest du dir mit google deine fragen bereits selbst beantworten können ... und ich lehne mich aus dem fenster : auch dein alter


es ist ja nichts schlimmes wenn man mit der softwareentwicklung anfängt weil man irgendwann mal das ziel hat ein game-dev zu werden ... aber sieht es hier täglich : die kurve die viele machen wollen ist dann doch zu steil und sie stürzen ab
WENN du es also wirklich machen willst ... fang unten an und nimm den lagen weg ... statt gleich eine 90°-wand erklimmen zu wollen
 

Joose

Top Contributor
Ich würde an deiner Stelle anfangen mit den grafischen Oberflächen.
Da man für ein ordentliches Program hier viele Aspekte der OOP verwenden muss und einige Patterns einsetzen kann.

Einfache Sachen sind Taschenrechner, Mini Texteditor, Adressbuch, Kontaktbuch, später kann man auch ein art "Paint" programmieren, hier kommt man dann mit "Zeichnen" in Berührung was für Spiele gebraucht wird. Bei Spielen wird auch Multithreading gebraucht, was sehr komplex werden kann.
 

kaoZ

Top Contributor
Bei Spielen wird auch Multithreading gebraucht, was sehr komplex werden kann.

komplexer als dieses finde ich das Zusammenspiel der einzelnen Komponente ( Player/Map) in Verbindung mit Kollisionsabfragen ;)

ich spreche da grade aus Erfahrung ( da ich grade selbst an einem kleinen 2D Plattformer arbeite ) und ich bin eigentlich doch recht fit mittlerweile was OOP / Java angeht.

Also deinem aktuellen Wissensstand nach, rate ich dir dringendst davon ab fundamentale Themen wie Multihreading / Datenhaltung / Grafische Programmierung unter Swing etc. zu überspringen.
Erst recht nicht wenn die Grundlagen noch nicht zu 100 % sitzen.

Zumal du nicht drum herum kommst insofern du dann auch noch unter Android Spiele umsetzen möchtest, was dann doch noch ein klein wenig komplexer wird.
 
Zuletzt bearbeitet:

Network

Top Contributor
Um dir mal ein paar konkrete Antworten abzuliefern, die dir vielleicht weiterhelfen.

1.)
Das all umfassende und allseits bekannte Buch "Java ist auch eine Insel"
Hier steht wirklich alles drin, was man über Java wissen kann(!).

Das Buch ist im Internet kostenlos. Du kannst dir aber auch eine gedruckte Version davon kaufen oder bestimmt auch in einer Bibliothek ausleihen.
(Das Ding ist aber sehr schwer und riesig.)

Als ich vor einigen Jahren angefangen hatte, hatte mir diese Webseite sehr weitergeholfen
Java Tutorial interaktiv - Programmieren lernen mit Java
Ich fande die sehr gut, da sie alle wichtigen Themen umfasst und auch Beispiele dazu liefert.
Einige Kapitel kann man auch locker überspringen oder nachholen wenn man Interesse hat - du kannst auch direkt in die GUI-Spalte springen bei Bedarf.


Es gibt ein SEHR gutes Einsteigerspieletutorial im Internet, das heißt Quaxlis 2D Spieletutorial, hier im Forum leider nicht mehr verfügbar.

2.)
Lass dich von den paar Schwätzern hier nicht einschüchtern. Übung macht den Meister! Ich will dich nicht anlügen, aber deine ersten Gehversuche in der Spieleprogrammierung werden ganz sicher scheitern und nach hinten losgehen.
Aber wie gesagt, mit der Übung lernt man dann auch plötzlich die Relevanz einiger Themen doch zu schätzen die man vorher als vollkommen langweilig und unverständlich abgetan hat. Diese wendet man dann auf seinen Code an und verbessert sich über die Zeit.

Einige Leute hier haben in der Vergangenheit ein paar Spiele public gemacht, die technisch zwar nicht gut waren, die Ideen dahinter aber super.


3.) Wie man aus .class Dateien ".jar" oder ."exe" Archive macht, ist ein absolutes Basic. Sollte in jedem Java-Tutorial in den Basics auftauchen. Wenn du mit einer IDE arbeitest, einfach googlen nach "[IDE] jar erstellen".


4.) Android Apps laufen auf Dalvik.
Es gibt aber nur ein paar kleine Unterschiede zu herkömmlichen Java auf dem Computer. Die Sprache selbst und die Bibliotheken sind fast identisch.

Der einzige wirkliche Unterschied ist das darunter liegende Betriebssystem das die Apps anderst verwaltet als Windows(oder andere) es mit seinen Programmen tut.
So gibt es keine main-Methode, sondern eine onCreate(Methode), sowie ein paar andere Methoden, die potenzielle Android-Programmierer schnell abschrecken, weil sie automatisch von der IDE in die Hauptklasse geschrieben werden.
Auf der Android Website kannst du Eclipse mit dem Android Plugin bereits implementiert herunterladen, danach brauchst du nurnoch ein Smartphone und MiniUSB-Kabel um es mit dem PC zu verbinden.

Dein Wissen, die du aus den oberen Punkten, für den PC erlangt hast, kannst du dann nach 30Minuten einarbeitung locker auch auf Android übertragen.
Würde dir aber erstmal dazu raten, PC Anwendungen zu entwickeln, bevor du dich an die App entwicklung wagst die einfach komplizierter ist. Hier kommt es nunmal auch auf PowerManagement an und man hat allgemein sehr wenig "Ressourcen" zur Verfügung. Hinzu ist das Debugging dort noch frustrierender.

Grüße
Net

PS: Multithreading würde ich nen gaaaaanz großen Bogen drum machen. Kompliziertes Thema, macht zumeist den Code sehr schmutzig und für Privatanwender hat das Thema keinerlei, aber auch wirklich keinen Nutzen, macht nur das Leben schwerer.
 
Zuletzt bearbeitet:

--->

Mitglied
hallo Leute,

Einfache Sachen sind Taschenrechner, Mini Texteditor, Adressbuch, Kontaktbuch, später kann man auch ein art "Paint" programmieren, hier kommt man dann mit "Zeichnen" in Berührung was für Spiele gebraucht wird. Bei Spielen wird auch Multithreading gebraucht, was sehr komplex werden kann.

Bin gerade an der Stelle angekommen wo ich sowas programmiere.
Mit Opjektorientierung habe ich schon viel zu tun.
Die Programme die noch Fehler enthalten, zu denen ich Fragen gepostet habe sind schon alt.
Ich suche irgendeine Informationsquelle wie ich dann mit der programmierung weitermachen soll.
Ihr würde gerne in die richtung benutzeroberflächen usw. gehen.
Kennt jemand eine gute Fortsetzung um meine Java kenntnisse weiter zu verbessern.
Ich weiss wie lange es dauert gut programmieren zu lernen.
suche nur eine umfangreiche Quelle mit der ich mich lange Beschäftigen kann.
Und die viele informationen enthält.
Ich will die wichtigen Dinge auch nicht überspringen sondern ich suche eine umfangreiche Quelle,
die die grundlagen genauso wie Komplexe Themen behandelt.
Hat jemand eine alternative zu "Java ist auch eine Insel".
Die Donwloade version habe ich übrigens.

[DUKE]euer "--->"[/DUKE]

(meine Vormatierung ist cool, ich bin eben noch ein Kind)
 
Zuletzt bearbeitet:

Bug Fisher

Bekanntes Mitglied
Klar kannst du, wenn du programmieren lernen willst Übungen in Richtung Spieleprogrammierung machen - step by step.

Vorschlag:
Baue eine Komponente, auf der ein Kreis einfach hin und her fliegt, also an den Rändern in die Gegenrichtung abptrallt. Aber: Nutze eine Gameloop.

Also nicht einfach einen Timer starten, der periodisch den "Ball" bewegt, sondern in einer Endlosschleife immer die Zeitdifferenz seit dem letzen Aufruf berechnen und den Kreis entsprechend dieser Zeit weit bewegt.
Hinweis: Berechnungen (und idealerweise auch Zeichnungen) in einem eigenen Thread machen und nur ein Bild an den EDT (EventQueue.invokeAndWait()) weiterreichen.

Dann hast du schon ein Grundgerüst für Spiele - und es bewegt sich auf unterschiedlichen Maschinen gleich schnell :)

Paar Nächte und viele Stunden Übungscoden später wird da auch ein Pong draus.

:)
 

Anti-Banane

Gesperrter Benutzer
um mal noch zusätzlich n bissl anzusticheln : ich hab nun schon sehr lange erfahrung in java (um die 9 jahre oder so in dem dreh) und habe mich schon recht früh auf verteiltes rechnen und so n krams spezialisiert ... und sowas kleines wie schiffe-versenken war auch schon mal übers wochenende fertig ...

aktuell sitz ich an nem online-monopoly ... und glaub mir ... trotz das die regeln relativ einfach sind und dadurch das es bereits etwas festes vorgegebenes ist was man nur noch vom brett auf den pc umsetzen muss ... sitz ich da schon mitlerweile so meine paar wochen dran ...


mir was völlig eigenes ausdenken ... joar ... es gab da mal den hauch einer möchtegern-alpha ... wobei wohl eher tec-demo ... aber daraus wurde dann letzten endes gar nichts ... nach über nem halben jahr entwicklung ...


was ich kurz mit sagen will : selbst sowas einfaches wie pong oder schiffe-versenken ist nicht ganz so trivial wie es sich anhört


bezüglich android : das würde ich mal lieber ganz schnell vergessen und irgendwo so in 2-3 jahre zukunft schieben
 

--->

Mitglied
Anti Banai,
du verstehst wohl einfach nicht was ich suche.
Ich will nicht sofor perfekt programmieren können
und dass habe ich nie gesagt.
Sondern ich baruche eine Buch oder eine Internetseite
die Grundlagen genauso vermittelt wie komplexe Thmen.
Und programmierung für Android
ist überhaupt nicht schwerer als die
Programmierung für den Computer.

--->
 

JavaMeister

Gesperrter Benutzer
hi,

für die Programmierung benötigt man zu nächst mal Erfahrung. Du hast Probleme mit den einfachsten Sachen. Daher ist der Vorschlag von Anti-Banane gerechtfertigt und auch korrekt. Ebenso sein Posting weiter oben, das ich mir an deiner Stelle genau durchlesen würde.

Lerne die Grundlagen und mach dann größere Schritte.
 

Anti-Banane

Gesperrter Benutzer
bezüglich PC vs Android

soweit gar nicht mal so verkehrt deine aussage ... denn wenn du für die platform PC arbeitest dann arbeitest du gegen die normale SE-API ... wenn du für Android entwickelst halt gegen die Android-API ... nimmt sich wirklich nicht viel ... und vieles aus der SE-API kann auch auch unter android so gar nicht nutzen (ich glaube die liste was man tatsächlich nutzen kann wäre kürzer also die was alles nicht geht)

was glaube ich aber dein problem ist : du hast die messlatte nun mal verdammt hoch gelegt mit dem : ich will android-games schreiben ... und so von null auf 100 wird das defintiv nichts ... du solltest auch erstmal generell abstand von android nehmen (gibt da n paar gar nicht so lustige eigenheiten) und erstmal richtig normales java lernen ... und bis man das so halbwegs drauf hat ... das dauert seine paar jahre ... ist einfach so


bezüglich online-tutorials : die video-form lehne ich persönlich grundsätzlich ab (höchstens das mit-filmen in ner vorlesung oder so) da unter dem verfügbaren material sehr viel schrott bei ist ...
das was man wirklich verwenden kann macht nur einen kleinen bruchteil aus

bezüglich schrift-form : ich würde mitlerweile internet dem gedruckten werk vorziehen ... schon mal alleine auf grund der einfachen editierbarkeit durch den autor als auch das mögliche direkte feedback durch die leser ...
aber ein paar gute grundlagen-bücher (und ich glaub bei mir hat sich das mitlerweile auch ganz schön angehäuft) sollte man trotzdem immer zur hand haben
 

DrZoidberg

Top Contributor
Du könntest auch erstmal mit etwas einfachem starten wie z.B. MIT App Inventor. Das reicht aus für ganz einfache Apps und du kannst es an einem Wochenende erlernen.
Für Spiele könntest du auch Stencyl verwenden.

Solche grafischen Tools sind leider sehr eingeschränkt in ihren Fähigkeiten. Dafür aber einfach und schnell zu erlernen.
Da es einige Monate dauern kann, bis du in der Lage bist Android Apps in Java zu schreiben, hast du damit eine brauchbare Übergangslösung um schon jetzt deine ersten Apps zu erstellen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Statistische Auswertung von Logfiles (Einlesen, auswerten und grafische Aufbereitung von logfiles) mit Java Allgemeine Java-Themen 9
M Java – Warum kann ich plötzlich bei Android Studio Grafische Benutzeroberflächen mit der Maus gestalten? Allgemeine Java-Themen 5
M interaktive grafische Oberfläche - wie mach ich das am Besten Allgemeine Java-Themen 4
S grafische Textausgabe außerhalb eines Frames Allgemeine Java-Themen 5
D Grafische Oberfläche Allgemeine Java-Themen 3
D Grafische Objekte zeichnen Allgemeine Java-Themen 4
E einfache grafische Oberfläche wie in MS C#? Allgemeine Java-Themen 6
M Wie heißt denn dieses grafische Element ? Allgemeine Java-Themen 2
J Netbeans: wie auf grafische elemente zugreifen, andere Datei Allgemeine Java-Themen 2
S grafische Oberfläche-> auslagern innerer klassen Allgemeine Java-Themen 5
B Grafische Oberfläche - Welche Komponenten? Allgemeine Java-Themen 5
thE_29 Java Applikation ohne grafische Oberfläche Allgemeine Java-Themen 24
I Overlay für Spiele Allgemeine Java-Themen 5
G Job als Programmierer (Software oder Spiele Entwickler) Allgemeine Java-Themen 2
K Spiele starten nicht richtig Allgemeine Java-Themen 2
X Spiele für Handys programmieren Allgemeine Java-Themen 2
V Funktionsweise eines Spiele ZeitZählers Allgemeine Java-Themen 3
D brauch hilfe ! bei Spiele Programmieren Allgemeine Java-Themen 5
D java spiele und tools für touchscreen handys Allgemeine Java-Themen 1
W kann mir einer diese 2 spiele in .jar machen? Allgemeine Java-Themen 25
G Wer hat selbstprogrammierte Java-Spiele? Allgemeine Java-Themen 17
R Java: Programmiersprache für Spiele? Allgemeine Java-Themen 16

Ähnliche Java Themen

Neue Themen


Oben