Package demos
Class BallThrowDemo
java.lang.Object
pi.Scene
demos.BallThrowDemo
- All Implemented Interfaces:
CollisionListener<Actor>,FrameUpdateListenerRegistration,KeyStrokeListener,KeyStrokeListenerRegistration,MouseClickListenerRegistration,MouseScrollListenerRegistration,RenderSource
Eine einfache Demonstration der Engine-Physik durch eine
Ball-Wurf-Simulation. Es wird ein Ball (durch Wirkung eines Impulses)
geworfen.
Nutzung der Simulation
Die Simulation kann gesteuert werden durch:
- S-Key: Startet Simulation
- R-Key: Setzt Simulation zurück
- Die Tasten Z und U ändern den Zoom auf die Umgebung (rudimentär implementiert)
- D-Key: Toggelt den Debug-Modus (zeigt das Pixel-Raster)
Anpassung der Parameter
Die Simulation arbeitet mit einigen physikalischen Parametern, die sich ändern lassen. Folgende Parameter sind als Konstanten im Code definiert und können im angepasst werden:
DURCHMESSER: Der Durchmesser des Circlees (hat keinen Einfluss auf die Masse.HOEHE_UEBER_BODEN: Abstand zwischen dem untersten Punkt des Balls und dem BodenMASSE: Masse des BallsIMPULS: Impuls, der auf den Ball angewandt wird.WINKEL: Winkel, in dem der Impuls auf den Ball angewandt wird. 0° = parallel zum Boden, 90° = gerade nach oben
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidvoidWird bei jeder Kollision zwischen mit diesem Interface angemeldetenActor-Objekten aufgerufen.voidWird bei jedem Tastendruck ausgeführt.Methods inherited from class pi.Scene
actors, add, addedActors, addLayer, backgroundColor, backgroundColor, backgroundColor, camera, center, clear, focus, focusCenter, frameUpdateListeners, gravity, gravity, gravity, gravityOfEarth, info, info, info, info, info, isPhysicsPaused, keyStrokeListeners, layer, meter, mouseClickListeners, mousePosition, mouseScrollListeners, physicsPaused, remove, removeLayer, render, renderOverlay, scene, visibleArea, visibleAreaMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface pi.event.CollisionListener
onCollisionEndMethods inherited from interface pi.event.FrameUpdateListenerRegistration
addFrameUpdateListener, defer, delay, removeFrameUpdateListener, repeat, repeat, repeat, repeat, repeatMethods inherited from interface pi.event.KeyStrokeListener
onKeyUpMethods inherited from interface pi.event.KeyStrokeListenerRegistration
addKeyStrokeListener, removeKeyStrokeListenerMethods inherited from interface pi.event.MouseClickListenerRegistration
addMouseClickListener, removeMouseClickListenerMethods inherited from interface pi.event.MouseScrollListenerRegistration
addMouseScrollListener, removeMouseScrollListener
-
Constructor Details
-
BallThrowDemo
public BallThrowDemo()
-
-
Method Details
-
onKeyDown
Wird bei jedem Tastendruck ausgeführt.- Specified by:
onKeyDownin interfaceKeyStrokeListener- Parameters:
e- KeyEvent
-
onCollision
Wird bei jeder Kollision zwischen mit diesem Interface angemeldetenActor-Objekten aufgerufen.- Specified by:
onCollisionin interfaceCollisionListener<Actor>- Parameters:
e- EinCollisionEvent-Objekt, dass alle Informationen der Kollision beschreibt.- See Also:
-
main
-