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 Details

  • Constructor Details

    • ForceKlickEnvironment

      public ForceKlickEnvironment()
      Startet ein Sandbox-Fenster.
  • Method Details

    • onCollision

      public void onCollision(CollisionEvent<Actor> event)
      Description copied from interface: CollisionListener
      Wird bei einer (korrekt angemeldeten) Instanz immer dann aufgerufen, wenn der hiermit angemeldete Actor mit einem (relevanten) Actor-Objekt kollidiert.
      Specified by:
      onCollision in interface CollisionListener<Actor>
      Parameters:
      event - Ein CollisionEvent-Objekt, dass alle Informationen der Kollision beschreibt.
      See Also:
    • onCollisionEnd

      public void onCollisionEnd(CollisionEvent<Actor> colliding)
      Description copied from interface: CollisionListener
      Wird bei einer (korrekt angemeldeten) Instanz immer dann aufgerufen, wenn die Kollision eines hiermit angemeldeten Actors mit einem (relevanten) Actor-Objekt beendet ist.
      Specified by:
      onCollisionEnd in interface CollisionListener<Actor>
      Parameters:
      colliding - Ein CollisionEvent-Objekt, dass alle Informationen der
    • onMouseDown

      public void onMouseDown(Vector p, MouseButton mouseButton)
      Wird bei jedem Mausklick aufgerufen.
      Specified by:
      onMouseDown in interface MouseClickListener
      Parameters:
      p - Point des Mausklicks auf der Zeichenebene.
      mouseButton - Die Maustaste, die gedrückt wurde.
    • onMouseUp

      public void onMouseUp(Vector point, MouseButton mouseButton)
      Description copied from interface: MouseClickListener
      Diese 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 MouseClickListener angemeldet werden.

      Specified by:
      onMouseUp in interface MouseClickListener
      Parameters:
      point - Der Punkt auf der Zeichenebene.
      mouseButton - Die Maustaste, die gedrückt wurde.
    • onFrameUpdate

      public void onFrameUpdate(double pastTime)
      Description copied from interface: FrameUpdateListener
      Diese Methode wird bei einem (angemeldeten) Objekt bei jedem Einzelbild erneut aufgerufen.
      Specified by:
      onFrameUpdate in interface FrameUpdateListener
      Parameters:
      pastTime - Die Zeit in Sekunden, die seit der letzten Aktualisierung vergangen ist.
    • main

      public static void main(String[] args)