Android Open Source - block-composer Float Value






From Project

Back to project page block-composer.

License

The source code is released under:

MIT License

If you think the Android project block-composer listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package bwr.blockcomposer.types;
//from w ww .ja va2  s .c  o m
import bwr.blockcomposer.AnimationFinishedListener;

public class FloatValue {

  public final static byte ANIMATION_NONE = 0;
  public final static byte ANIMATION_LINEAR = 1;

  // Cached value
  private float value;
  
  // Linear interpolation variables
  private float initial;
  private float rate = 0;
  
  // Animation variables
  private long time = 0;
  private long duration = 0;
  private byte animationType = ANIMATION_NONE;

  AnimationFinishedListener listener = null;
  
  public FloatValue(float initial) {
    this.value = initial;
  }
  
  public FloatValue() {
    this.value = 0f;
  }

  public void initLinearAnimation(float change, long duration, AnimationFinishedListener listener) {
    this.listener = listener;
    initLinearAnimation(change, duration);
  }
  
  public void initLinearAnimation(float change, long duration) {
    animationType = ANIMATION_LINEAR;
    initial = getValue(); // get result of last interpolation
    time = 0;
    this.duration = duration;
    rate = change/duration;
  }
  
  public void setValueOverTime(float value, long duration) {
    
    
    initLinearAnimation(value - this.value, duration);
  }
  
  public void update(long dt) {
    if(animationType == ANIMATION_NONE) return;
    
    time = Math.min(time + dt, duration);
    
    if(animationType == ANIMATION_LINEAR) {
      value = initial + time * rate;
    }
    
    if(time == duration) {
      animationType = ANIMATION_NONE;
      
      if(listener != null) {
        listener.onAnimationFinished();
        listener = null;
      }
    }
  }
  
  public float getValue() {
    return value;
  }

  public void setValue(float v) {
    this.value = v;
    animationType = ANIMATION_NONE;
  }
  
}




Java Source Code List

bwr.blockcomposer.AnimationFinishedListener.java
bwr.blockcomposer.BlockComposerActivity.java
bwr.blockcomposer.BlockComposerRenderer.java
bwr.blockcomposer.BlockComposer.java
bwr.blockcomposer.Camera.java
bwr.blockcomposer.GameResources.java
bwr.blockcomposer.OnUpdateAction.java
bwr.blockcomposer.gamedata.Block.java
bwr.blockcomposer.gamedata.GameEntity.java
bwr.blockcomposer.gamedata.GameState.java
bwr.blockcomposer.gamedata.LevelDimensions.java
bwr.blockcomposer.gamedata.LevelMask.java
bwr.blockcomposer.gamedata.LevelMetadata.java
bwr.blockcomposer.gamedata.LevelStore.java
bwr.blockcomposer.gamedata.Level.java
bwr.blockcomposer.gamedata.Move.java
bwr.blockcomposer.gamedata.StaticLevelStore.java
bwr.blockcomposer.gamedata.UserLevelStore.java
bwr.blockcomposer.misc.GLUtility.java
bwr.blockcomposer.misc.Timer.java
bwr.blockcomposer.models.AxisRenderer.java
bwr.blockcomposer.models.Model.java
bwr.blockcomposer.models.SelectBoxRenderer.java
bwr.blockcomposer.modes.EditMode.java
bwr.blockcomposer.modes.GameDialogMode.java
bwr.blockcomposer.modes.GameMode.java
bwr.blockcomposer.modes.LevelImportMode.java
bwr.blockcomposer.modes.LevelSelectMode.java
bwr.blockcomposer.modes.LogoDisplayMode.java
bwr.blockcomposer.modes.ModeController.java
bwr.blockcomposer.modes.Mode.java
bwr.blockcomposer.modes.OverlayMode.java
bwr.blockcomposer.types.FlipRotateFloat.java
bwr.blockcomposer.types.FloatValueVector3.java
bwr.blockcomposer.types.FloatValue.java
bwr.blockcomposer.types.IntVector.java
bwr.blockcomposer.types.RotatingFloat.java
bwr.blockcomposer.ui.TextRenderer.java
bwr.blockcomposer.ui.UIElementPicture.java
bwr.blockcomposer.ui.UIElementText.java
bwr.blockcomposer.ui.UIElement.java