Package demos
Class ForceKlickEnvironment
java.lang.Object
pi.Scene
demos.ForceKlickEnvironment
- All Implemented Interfaces:
CollisionListener<Actor>,FrameUpdateListener,FrameUpdateListenerRegistration,KeyStrokeListenerRegistration,MouseClickListener,MouseClickListenerRegistration,MouseScrollListenerRegistration,RenderSource
- Direct Known Subclasses:
JointDemo
public class ForceKlickEnvironment
extends Scene
implements CollisionListener<Actor>, MouseClickListener, FrameUpdateListener
Eine kleine Sandbox, in der man ein paar Grundfunktionen der EA-Physik (4.0)
ausprobieren kann.
Nutzung der Simulation
Die Simulation wird mit der Maus beeinflusst. Klicken setzt einen Angriffspunkt. Ein weiteres Klicken wirkt an dem Angriffspunkt einen Impuls. Stärke und Richtung hängen von der Position der Maus relativ zum ersten Point ab. Der entsprechende Vector ist sichtbar.
Funktionen
- R Setzt die gesamte Simulation zurück. Alle Objekte verharren wieder in Ruhe an ihrer AusgangssetPosition(
- S Aktiviert/Deaktiviert Schwerkraft in der Simulation.
- E Aktiviert/Deaktiviert Wände
- D Aktiviert/Deaktiviert den Debug-Modus (und stellt damit ein Raster, FPS etc. dar)
- I Aktiviert/Deaktiviert die Info-Box mit Infos zu den physikalischen Eigenschaften des zuletzt angeklickten Objekts.
- U und J erhöhen/reduzieren die Masse des zuletzt angeklickten Objekts.
- W und Q erhöhen/reduzieren die Elastizität der Wände.
- 1 und 2 zoomen rein/raus
Created by andonie on 05.09.15.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidvoidonCollision(CollisionEvent<Actor> event) Wird bei einer (korrekt angemeldeten) Instanz immer dann aufgerufen, wenn der hiermit angemeldete Actor mit einem (relevanten)Actor-Objekt kollidiert.voidonCollisionEnd(CollisionEvent<Actor> colliding) Wird bei einer (korrekt angemeldeten) Instanz immer dann aufgerufen, wenn die Kollision eines hiermit angemeldeten Actors mit einem (relevanten)Actor-Objekt beendet ist.voidonFrameUpdate(double pastTime) Diese Methode wird bei einem (angemeldeten) Objekt bei jedem Einzelbild erneut aufgerufen.voidonMouseDown(Vector p, MouseButton mouseButton) Wird bei jedem Mausklick aufgerufen.voidonMouseUp(Vector point, MouseButton mouseButton) Diese Methode wird bei jedem Loslassen einer Maustaste aufgerufen, unabhängig davon an welcher Position sich die Maus befindet.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.FrameUpdateListenerRegistration
addFrameUpdateListener, defer, delay, removeFrameUpdateListener, repeat, repeat, repeat, repeat, repeatMethods inherited from interface pi.event.KeyStrokeListenerRegistration
addKeyStrokeListener, removeKeyStrokeListenerMethods inherited from interface pi.event.MouseClickListenerRegistration
addMouseClickListener, removeMouseClickListenerMethods inherited from interface pi.event.MouseScrollListenerRegistration
addMouseScrollListener, removeMouseScrollListener
-
Field Details
-
FIELD_WIDTH
public static final float FIELD_WIDTH- See Also:
-
FIELD_DEPTH
public static final float FIELD_DEPTH- See Also:
-
-
Constructor Details
-
ForceKlickEnvironment
public ForceKlickEnvironment()Startet ein Sandbox-Fenster.
-
-
Method Details
-
onCollision
Description copied from interface:CollisionListenerWird bei einer (korrekt angemeldeten) Instanz immer dann aufgerufen, wenn der hiermit angemeldete Actor mit einem (relevanten)Actor-Objekt kollidiert.- Specified by:
onCollisionin interfaceCollisionListener<Actor>- Parameters:
event- EinCollisionEvent-Objekt, dass alle Informationen der Kollision beschreibt.- See Also:
-
onCollisionEnd
Description copied from interface:CollisionListenerWird bei einer (korrekt angemeldeten) Instanz immer dann aufgerufen, wenn die Kollision eines hiermit angemeldeten Actors mit einem (relevanten)Actor-Objekt beendet ist.- Specified by:
onCollisionEndin interfaceCollisionListener<Actor>- Parameters:
colliding- EinCollisionEvent-Objekt, dass alle Informationen der
-
onMouseDown
Wird bei jedem Mausklick aufgerufen.- Specified by:
onMouseDownin interfaceMouseClickListener- Parameters:
p- Point des Mausklicks auf der Zeichenebene.mouseButton- Die Maustaste, die gedrückt wurde.
-
onMouseUp
Description copied from interface:MouseClickListenerDiese Methode wird bei jedem Loslassen einer Maustaste aufgerufen, unabhängig davon an welcher Position sich die Maus befindet.Natürlich muss dafür erst der
MouseClickListenerangemeldet werden.- Specified by:
onMouseUpin interfaceMouseClickListener- Parameters:
point- Der Punkt auf der Zeichenebene.mouseButton- Die Maustaste, die gedrückt wurde.
-
onFrameUpdate
public void onFrameUpdate(double pastTime) Description copied from interface:FrameUpdateListenerDiese Methode wird bei einem (angemeldeten) Objekt bei jedem Einzelbild erneut aufgerufen.- Specified by:
onFrameUpdatein interfaceFrameUpdateListener- Parameters:
pastTime- Die Zeit in Sekunden, die seit der letzten Aktualisierung vergangen ist.
-
main
-