Package schule.ngb.zm.anim
Class Animation<T>
java.lang.Object
schule.ngb.zm.Constants
schule.ngb.zm.anim.Animation<T>
- All Implemented Interfaces:
Updatable
- Direct Known Subclasses:
AnimationFacade
,AnimationGroup
,AnimationSequence
,CircleAnimation
,ContinousAnimation
,FadeAnimation
,FillAnimation
,MorphAnimation
,MoveAnimation
,RotateAnimation
,StrokeAnimation
,WaveAnimation
-
Field Summary
Modifier and TypeFieldDescriptionprotected DoubleUnaryOperator
protected int
protected boolean
protected boolean
protected int
Fields inherited from class schule.ngb.zm.Constants
APP_NAME, APP_VERSION, APP_VERSION_MAJ, APP_VERSION_MIN, APP_VERSION_REV, ARROW, BEVEL, BLACK, BLUE, BOLD, BROWN, canvasHeight, canvasWidth, CENTER, CLOSED, cmouseX, cmouseY, CROSS, CYAN, DARKGRAY, DASHED, DEFAULT_ANIM_RUNTIME, DEFAULT_BACKGROUND, DEFAULT_BUFFER, DEFAULT_EASING, DEFAULT_FILLCOLOR, DEFAULT_FONTSIZE, DEFAULT_FPS, DEFAULT_HEIGHT, DEFAULT_STROKECOLOR, DEFAULT_STROKEWEIGHT, DEFAULT_WIDTH, delta, DOTTED, DOWN, DOWNLEFT, DOWNRIGHT, EAST, FILLED, framesPerSecond, GRAY, GREEN, HALF_PI, HAND, ITALIC, key, KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_A, KEY_ALT, KEY_B, KEY_BACK_SPACE, KEY_C, KEY_CANCEL, KEY_CAPS_LOCK, KEY_CLEAR, KEY_COMMA, KEY_CONTROL, KEY_D, KEY_DOWN, KEY_E, KEY_END, KEY_ENTER, KEY_EQUALS, KEY_ESCAPE, KEY_F, KEY_G, KEY_H, KEY_HOME, KEY_I, KEY_J, KEY_K, KEY_L, KEY_LEFT, KEY_M, KEY_MINUS, KEY_N, KEY_O, KEY_P, KEY_PAGE_DOWN, KEY_PAGE_UP, KEY_PAUSE, KEY_PERIOD, KEY_Q, KEY_R, KEY_RIGHT, KEY_S, KEY_SEMICOLON, KEY_SHIFT, KEY_SLASH, KEY_SPACE, KEY_T, KEY_TAB, KEY_U, KEY_UP, KEY_V, KEY_W, KEY_X, KEY_Y, KEY_Z, keyCode, keyEvent, keyPressed, LEFT, LIGHTGRAY, LINES, LINUX, MACOS, MAGENTA, MIDDLE, MITER, MOUSE1, MOUSE2, MOUSE3, mouseButton, mouseEvent, mousePressed, mouseX, mouseY, MOVE, NOMOUSE, NORTH, NORTHEAST, NORTHWEST, OPEN, ORANGE, PI, PIE, PINK, PLAIN, pmouseX, pmouseY, PURPLE, QUARTER_PI, RED, RIGHT, ROUND, screenHeight, screenWidth, SOLID, SOUTH, SOUTHEAST, SOUTHWEST, TEXT, tick, TWO_PI, UP, UPLEFT, UPRIGHT, WAIT, WEST, WHITE, WINDOWS, YELLOW
-
Constructor Summary
ConstructorDescriptionAnimation
(int runtime) Animation
(int runtime, DoubleUnaryOperator easing) Animation
(DoubleUnaryOperator easing) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addListener
(AnimationListener listener) abstract void
animate
(double e) Setzt den Fortschritt der Animation auf den angegebenen Wert.final void
await()
void
finish()
abstract T
int
void
boolean
isActive()
Gibt an, ob das Objekt gerade auf Aktualisierungen reagiert.void
removeListener
(AnimationListener listener) void
setEasing
(DoubleUnaryOperator pEasing) void
setRuntime
(int pRuntime) final void
start()
final void
stop()
void
update
(double delta) Änderung des Zustandes des Objekts abhängig vom Zeitintervalldelta
in Sekunden.Methods inherited from class schule.ngb.zm.Constants
abs, arccos, arcsin, arctan, asBool, asBool, asBool, asBool, asBool, asBool, asBool, asBool, asBool, asDouble, asDouble, asDouble, asDouble, asDouble, asDouble, asDouble, asDouble, asDouble, asInt, asInt, asInt, asInt, asInt, asInt, asInt, asInt, asInt, avg, binary, ceil, choice, choice, choice, choice, color, color, color, color, colorHsb, colorHsl, cos, degrees, distance, floor, fromBinary, fromHex, getRandom, hex, interpolate, limit, limit, loadImage, map, max, max, min, min, morph, noise, noise, noise, noise, pow, radians, random, random, random, random, random, randomBool, randomBool, randomBool, randomColor, randomGaussian, randomNiceColor, round, setSeed, shuffle, shuffle, shuffle, shuffle, sign, sin, sqrt, sum, tan
-
Field Details
-
runtime
protected int runtime -
elapsedTime
protected int elapsedTime -
running
protected boolean running -
finished
protected boolean finished -
easing
-
-
Constructor Details
-
Animation
public Animation() -
Animation
-
Animation
public Animation(int runtime) -
Animation
-
-
Method Details
-
getRuntime
public int getRuntime() -
setRuntime
public void setRuntime(int pRuntime) -
getEasing
-
setEasing
-
getAnimationTarget
-
start
public final void start() -
stop
public final void stop() -
initialize
public void initialize() -
finish
public void finish() -
await
public final void await() -
isActive
public boolean isActive()Description copied from interface:Updatable
Gibt an, ob das Objekt gerade auf Aktualisierungen reagiert.Wie mit dieser Information umgegangen wird, ist nicht weiter festgelegt. In der Regel sollte eine aufrufende Instanz zunächst prüfen, ob das Objekt aktiv ist, und nur dann
Updatable.update(double)
aufrufen. Für implementierende Klassen ist es aber gegebenenfalls auch sinnvoll, bei Inaktivität den Aufruf vonupdate(double)
schnell abzubrechen:void update( double delta ) { if( !isActive() ) { return; } // Aktualisierung ausführen.. }
-
update
public void update(double delta) Description copied from interface:Updatable
Änderung des Zustandes des Objekts abhängig vom Zeitintervalldelta
in Sekunden.Die kann, muss aber nicht, die Rückgabe von
Updatable.isActive()
berücksichtigen. -
animate
public abstract void animate(double e) Setzt den Fortschritt der Animation auf den angegebenen Wert.e
liegt in der Regel zwischen 0 und 1. Je nach verwendetenEasing
Funktion kann der Wert aber in Ausnahmefällen unter 0 oder über 1 liegen. Diestep()
Methode muss dem nicht Rechnung tragen und kann wenn sinnvoll dene
Wert auf [0, 1] limitieren:e = Constants.limit(e, 0, 1);
- Parameters:
e
- Fortschritt der Animation, nachdem die Easing-Funktion angewandt wurde.
-
addListener
-
removeListener
-