Ball programmieren

Status
Nicht offen für weitere Antworten.

unknown_member

Bekanntes Mitglied
Hallo!

Ich möchte einen Ball programmieren, der gegen die Bildschirmrände stoßen und abprallen kann, gegen andere Gegenstände ebenso abprallen kann und Bogen fliegt. Wie ein richtiger Ball eben.
Leider habe ich davon keine Ahnung. Weiß irgendjemand, wie ich das realisieren kann?

thx, unknown_member
 

Chris_1980

Bekanntes Mitglied
LOL, du bist echt lustig. :lol:

Also ich möchte dir ja den spaß selbst zu googlen nicht nehmen, daher einfach nur der Tip:
Es gibt mit Sicherheit irgendwo ein Tutorial dazu. Abgesehen davon, meinst du nicht, es wäre ganz sinnvoll mal ein Buch zu dem ganzen Kram zu lesen? Dieses ist kostenlos und wirklich hilfreich: www.javabuch.de
 

Evil-Devil

Top Contributor
Öhm...ich appeliere hier mal an den eigenen Verstand...

Ball.x > AufprallObjekt.x dann tu was
Ball.y > AufprallObjekt.y dann tu was

Nur um es mal für die eine Richtung aufzuzeigen. Den rest kann man mit einfacher Mathematik selbst einrichten. Ideal ist es natürlich, wenn du bei jeder Bewegung die Position die der Ball in der nächten Bewegung hätte berechnest und anhand dieser auf eine etwaige Kollision prüfst. Sonst kann es passieren das der Ball inmitten deines Objektes abprallt. Das sieht gelinde gesagt schlecht aus.
 

Marco13

Top Contributor
Wenn der Ball und das Objekt eckig sind, und man aus physikalische Plausibilität keinen Wert legt, funktioniert das oben genannte :wink: Und ob einem da "einfache Mathematik" so viel weiterhilft? Ich würde eher auf Physik tippen (für die man "einfache Mathematik" braucht), aber unabhängig davon: Das ganze vernünftig in Code zu gießen ist dann nochmal eine Aufgabe, deren Schwierigkeit mindestens mit der "theoretischen", "intuitiven" Beschreibung des Problems (und der Lösung) vergleichbar, aber vermutlich sogar noch höher ist.

Nur die "alte" und die "neue" Position des Balles auf Kollisionen zu testen führt übrigens spätestens dann zu einem Problem, wenn der Ball sich schnell bewegt. Dann kann er nämlich in einem Zeitschritt durch ein Objekt durchfliegen (und man kriegt es nicht mit). Dem entgegen wirken kann man mit kontinuierlicher Kollisionserkennung. Da könnte man lange drüber schreiben... wenn das dann aber begleitet wird von Fragen wie "warum wird mein BufferedImage nicht gezeichnet?" merkt man, dass jemand versucht, nicht nur zwei Schritte auf einmal zu machen, sondern sich direkt ans Ziel zu beamen. Naja. Dabei kollidiert er wenigstens nicht mit irgendwelchen Objekten.
 

Apo

Bekanntes Mitglied
ich möchte dir auch nicht alles abnehmen ;)
aber eine SEHR gute Physikengine in Java gibt es hier

Kann ich nur empfehlen. Da sind Beispiele zum handling mit dabei. Ich benutze es selber gerade. ^^
 

Evil-Devil

Top Contributor
Welchen Text meinst du? DIe API Doc kann man sich auch selbst generieren -.-

Kev's Phys API ist schon fein ;D
 

unknown_member

Bekanntes Mitglied
Dort gabs nur Beispiele, die man ausprobieren konnte, etwas darüber lernen kann man dort eig nicht.

@Evil-Devil: Welche API meinst du? Wo ist die?
 

Apo

Bekanntes Mitglied
ganz einfach
mithilfe vom Webstart kannst du es dir erstmal anschauen, was er da gemacht hat.
als zweites kannst du dir dann den sourcecode runterziehen und dir dort die Beispiele, die mit drin sind, anschauen. Und schwup die wupp learning by doing bzw erstmal learning by watching :D ;)
man versteht es aber wirklich sehr leicht.
und es ist richtig, falls du eine API brauchst ... nimm z.B. eclipse füg das projekt mit dem source ein und geh auf export->und dann halt auf javadoc
und siehe da du hast die API ;)
€dit: OMG ich sehe er hat die API sogar online gepackt. Kannst sie dir auch ganz einfach da schon anschauen.


alles ganz einfach ;)
 

EgonOlsen

Bekanntes Mitglied
Eine Physikengine (und sei sie auch "nur" für 2D) zu nutzen, um ein relativ einfaches Problem wie das Abprallen eines Balles vom Bildschirmrand zu lösen, ist meiner Ansicht nach totaler Overkill. Etwa so, als wenn ich einen kompletten Applikationsserver aufsetze, um ein Gästebuch zu realisieren. Kann man sicher machen, aber naja...
 

AlArenal

Top Contributor
Ist die Frage was schwieriger ist, unknown_member so einen höchst komplizierten Zusammhang wie "Einfallwinkel = Ausfallwinkel" beizubiegen, oder ihm einfach Sourcecode ins Gesicht zu drücken, bis er im Hirn ankommt.

Das sind Problem, die haben andere in Basic am C-64 mit dem bischen Mathe, dass sie in Klasse 7 oder 8 hatten, erfolgreich gelöst. Ist nun wirklich keine Astrophysik und sollte von jemandem, der es immerhin geschafft überhaupt gewisse Grundlagen in Java zu rallen auch anders zu meistern sein, als für jede Kleinigkeit anderer Leute Zeit zu stehlen ;)
 

Apo

Bekanntes Mitglied
Ihr habt schon recht.
Aber er wollte nicht nur gegen die Wand den Ball fliegen lassen. Dafür ist es ja total einfach und richtig ... das bekommt er alleine hin.
Aber um zu prüfen, ob ein Ball sich mit irgendeinem Vieleck schneidet ... Da müsste ich schon etwas überlegen (Viereck mit Viereck ist einfach und Ball mit Ball auch ...)
Und es gibt ja noch mehr geometrische Figuren. Dafür bietet Java auch alles mögliche schon also Ellipse2D mit Rectangle2D oder mit einem Polygon vergleichen ... Java bietet alles an ... Aber in der Physikengine nimmt einem auch die Reibung ab usw ;) also ich finde Sie toll. ;) Ob sie hier wirklich gebraucht wird ... das ist eine andere Frage.
 

Marco13

Top Contributor
Masse, Impulserhaltung, Drehmoment, kontinuierliche Kollsionserkennung, Poisson-Koeffizient, E-Modul ... Wenn der Fragesteller mit einem Link zufrieden ist, ists doch gut...?
 

AlArenal

Top Contributor
Reibung.. wenn man nicht gerade die diversen Reibungsarten in Physik bespricht ist dort eh alles idealisiert. Und ob der Abpraller nun physikalisch korrekt ist (inkl. Berücksichtigung von Rollreibung, Elastizität, Luftreibung, bla, ...) interessiert doch zunächst nicht wirklich... :D

Sinnvoll isses doch das Gnaze erstmal irgendwie ans Laufen zu bekommen. Wenn er daraus später eine realitätsnahe Sim machen will, kann er das dann immernoch. Aber in der Regel ist es nicht förderlich für die Motivation, wenn man direkt alles auf einmal einabeun und perfekt haben will und sich verzettelt und nicht fertig wird..
 

Marco13

Top Contributor
Natürlich braucht man das oben genannte nicht alles für ein Spiel (abgesehen von der Kollisionserkennung). Aber zumindest sollte man Kräfte und Impulse berücksichtigen (Gravitation und der Spieler, der sicher gegen den Ball springen können soll). NUR Einfallswinkel=Ausfallswinkel hilft einem da nicht viel weiter, man wird wohl kaum drumrumkommen den Ball zumindest über (Position, Geschwindigkeit, Masse) zu beschreiben.
 

AlArenal

Top Contributor
Angewandte Schulphysik. Ist doch viel sinnvoller sows mal selbst zu machen. Ist wie gesagt keine Astrophysik ;)
 

EgonOlsen

Bekanntes Mitglied
Marco13 hat gesagt.:
Natürlich braucht man das oben genannte nicht alles für ein Spiel (abgesehen von der Kollisionserkennung). Aber zumindest sollte man Kräfte und Impulse berücksichtigen (Gravitation und der Spieler, der sicher gegen den Ball springen können soll). NUR Einfallswinkel=Ausfallswinkel hilft einem da nicht viel weiter, man wird wohl kaum drumrumkommen den Ball zumindest über (Position, Geschwindigkeit, Masse) zu beschreiben.
Für Pong? Ich meine, was sonst soll das wohl werden? Das erste Pong war eine hartverdrahtete Fernsehscheibe-Malschaltung ohne CPU...da war auch nix mit Masse usw... :wink:
 

Evil-Devil

Top Contributor
Das unknown_member wirklich die Java Grundlagen drauf hat bezweifel ich irgendwie...sonst hätte er doch all die Infos auf der CokeAndCode Seite gefunden. Und Kev's Code ist eigentlich auch immer gut dokumentiert.
 

Marco13

Top Contributor
Es soll ein Volleyballspiel werden. Und selbst für Pong müssen ja auch irgendwann mal Winkel dazukommen, die NICHT dem Winkel entsprechen, mit dem der Ball am Anfang losgeflogen ist...
 

unknown_member

Bekanntes Mitglied
Wow, danke für die vielen Antworten

Das mit der Physik und dem ganzen kann bzw kenn ich noch nicht, in der schule sind wir noch net so weit... :wink:


Vllt kann man das mit Parabeln lösen, hab davon aber leider auch keine Ahnung...
 

Evil-Devil

Top Contributor
Marco13 hat gesagt.:
Es soll ein Volleyballspiel werden. Und selbst für Pong müssen ja auch irgendwann mal Winkel dazukommen, die NICHT dem Winkel entsprechen, mit dem der Ball am Anfang losgeflogen ist...

Nicht zwangsläufig, wenn man nicht zuviel Wert auf Genauigkeit nimmt, kann man auch einfach die EIngangswerte entsprechend der Eingangsrichtung umkehren und der Ball bounced entsprechend weiter.
 
G

Guest

Gast
Nicht zwangsläufig, wenn man nicht zuviel Wert auf Genauigkeit nimmt, kann man auch einfach die EIngangswerte entsprechend der Eingangsrichtung umkehren und der Ball bounced entsprechend weiter.

Korrekt - so hab ich das bei meinem Pong Clon auch gemacht. Und das ist völlig ausreichend und mit ein paar Zeilen erledigt.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Ball abschießen? Spiele- und Multimedia-Programmierung 1
K Ball abschießen Spiele- und Multimedia-Programmierung 1
J ping pong ball abprallen lassen Spiele- und Multimedia-Programmierung 12
P Ball mit schwerkraft hüpfen lassen Spiele- und Multimedia-Programmierung 9
Developer_X THE BALL (needs Java3D) Spiele- und Multimedia-Programmierung 34
S Ball Problem Spiele- und Multimedia-Programmierung 7
S Ball is Kaputt Spiele- und Multimedia-Programmierung 17
T Kollisionsabfrage von einem Stein mit einem Ball Spiele- und Multimedia-Programmierung 5
G Balken, der Ball zurückschießt Spiele- und Multimedia-Programmierung 7
J Kollisionsabfrage Ball <-> Paddle Spiele- und Multimedia-Programmierung 2
M BlueJ Schach Steuerung programmieren Spiele- und Multimedia-Programmierung 28
ItundMathe1994 TicTacToe Spiel programmieren Spiele- und Multimedia-Programmierung 2
N Escape the Room - Spiele Apps programmieren Spiele- und Multimedia-Programmierung 14
Laaalo Tic tac toe programmieren Spiele- und Multimedia-Programmierung 4
mihe7 Wie man einfache Spiele programmieren kann Spiele- und Multimedia-Programmierung 23
M Brauche Hilfe was zu Programmieren Spiele- und Multimedia-Programmierung 4
N Minecraft Spigot-Plugin | Schusswaffe programmieren Spiele- und Multimedia-Programmierung 3
A Programmieren eines Memorys mit Java (in Eclipse) Spiele- und Multimedia-Programmierung 5
A DoodleJump programmieren: Kollisionsabfrage Spiele- und Multimedia-Programmierung 6
I Vier gewinnt programmieren, Klick-Reihenfolge Spiele- und Multimedia-Programmierung 2
B Programmieren wie der Befehl /ban in Minecraft geblockt wird aber nicht /ban mit einem Argument Spiele- und Multimedia-Programmierung 1
K Android Spiel Programmieren Spiele- und Multimedia-Programmierung 6
P Tennis- Spielstand- Zähler für Schule programmieren Spiele- und Multimedia-Programmierung 6
J HDMI Ausgänge mit Java programmieren? Spiele- und Multimedia-Programmierung 18
L Hörtest programmieren und implementieren Spiele- und Multimedia-Programmierung 2
E Möchte Jump and Run programmieren Spiele- und Multimedia-Programmierung 2
E Möchte Spiel Programmieren Spiele- und Multimedia-Programmierung 7
M Gesellschaftsspiel Mühle in Java programmieren Spiele- und Multimedia-Programmierung 3
M Textbasiertes Spiel programmieren Spiele- und Multimedia-Programmierung 4
M Logitech G15/G510 Applets programmieren Spiele- und Multimedia-Programmierung 3
F Spiel ähnlich wie SimCity/o.ä programmieren Spiele- und Multimedia-Programmierung 5
O Rundenbasiertes strategiespiel programmieren Spiele- und Multimedia-Programmierung 2
K 2D Blockade Programmieren Spiele- und Multimedia-Programmierung 3
wolfgang63 Mit JavaFX einfaches Game programmieren Spiele- und Multimedia-Programmierung 5
J Mod Loader programmieren Spiele- und Multimedia-Programmierung 11
I Hitpoints/Lifepoints programmieren, wie? Spiele- und Multimedia-Programmierung 7
L Minecraft Minecraft Plugin programmieren (Craftbukkit 1.7.2) Problem Spiele- und Multimedia-Programmierung 4
B Spiel Programmieren, die Anfänge Spiele- und Multimedia-Programmierung 6
wolfgang63 Einfachen Soundgenerator programmieren Spiele- und Multimedia-Programmierung 1
J UNO Programmieren Spiele- und Multimedia-Programmierung 4
F Bot Programmieren Spiele- und Multimedia-Programmierung 10
N Game GUI Programmieren Spiele- und Multimedia-Programmierung 16
1 Minecraft Minecraft Plugins programmieren Spiele- und Multimedia-Programmierung 6
T MiniCraft - selbst nach Programmieren Spiele- und Multimedia-Programmierung 25
A Klickgame ala "Harveys neue Augen" oder "Edna bricht aus" in Java programmieren... Fragen zu Kleinig Spiele- und Multimedia-Programmierung 8
S Spiel Programmieren (Kreise treffen) Spiele- und Multimedia-Programmierung 5
F wie richtig spiele programmieren ? Spiele- und Multimedia-Programmierung 19
C Hinterteil von Snake programmieren Spiele- und Multimedia-Programmierung 11
B Spiele programmieren für ein Fenster? Spiele- und Multimedia-Programmierung 14
B Kartenspiel Leben und Tod programmieren Spiele- und Multimedia-Programmierung 11
T Vier gewinnt programmieren Spiele- und Multimedia-Programmierung 9
G Stimme programmieren Spiele- und Multimedia-Programmierung 11
Sebi Mit Java Online games programmieren ? Spiele- und Multimedia-Programmierung 8
N Labyrinth programmieren/Denkhilfe Spiele- und Multimedia-Programmierung 3
data89 Spiel mit JMonkey programmieren Spiele- und Multimedia-Programmierung 6
O Programmieren von "Familienduell" Spiele- und Multimedia-Programmierung 3
A Wie JAVA Webcam Client programmieren? Spiele- und Multimedia-Programmierung 11
T vier gewinnt programmieren - aber wie Spiele- und Multimedia-Programmierung 19
N In einem Kasten springende Bälle programmieren...Hilfe Spiele- und Multimedia-Programmierung 7
B Problem beim Programmieren von 4Gewinnt Spiele- und Multimedia-Programmierung 5
A Programmieren eines Bruchrechners Spiele- und Multimedia-Programmierung 3
K Malefiz programmieren - Frage zu den einzelnen Spielfeldern Spiele- und Multimedia-Programmierung 5
G wer möchte mit mir risiko programmieren? Spiele- und Multimedia-Programmierung 7
B Problem beim Programmieren Von Mühle Spiele- und Multimedia-Programmierung 6
N Sinus Welle programmieren! Spiele- und Multimedia-Programmierung 4
J Gesellschaftsspiele programmieren Spiele- und Multimedia-Programmierung 8
P 2D Spiel mir drehbaren Bildern (Sprites) programmieren Spiele- und Multimedia-Programmierung 10
A "Wegnehm-Spiel" programmieren, Tipps + Links? Spiele- und Multimedia-Programmierung 8

Ähnliche Java Themen


Oben