Spin.java :  » UnTagged » yetanotherspaceshooter » rokon » SpriteModifiers » Android Open Source

Android Open Source » UnTagged » yetanotherspaceshooter 
yetanotherspaceshooter » rokon » SpriteModifiers » Spin.java
package rokon.SpriteModifiers;

import javax.microedition.khronos.opengles.GL10;

import rokon.Debug;
import rokon.Rokon;
import rokon.Sprite;
import rokon.SpriteModifier;

/**
 * A very basic SpriteModifier that rotates a Sprite at a given frequency
 */
public class Spin extends SpriteModifier {

  private float _frequency;
  private float _angle;
  private long _lastUpdate;
  private long timeDiff;

  public Spin(float frequency) {
    _frequency = frequency;
    _angle = 0;
    _lastUpdate = Rokon.time;
  }
  
  public void onDraw(Sprite sprite, GL10 gl) {
    //timeDiff = Rokon.getTime() - _lastUpdate;
    //_angle += (float)((float)(_frequency * 360f) / 1000f * (float)timeDiff);
    //gl.glTranslatef(sprite.getX() + (sprite.getWidth() / 2), sprite.getY() + (sprite.getHeight() / 2), 0);
    //gl.glRotatef(_angle, 0, 0, 1);
    //gl.glTranslatef(-(sprite.getX() + (sprite.getWidth() / 2)), -(sprite.getY() + (sprite.getHeight() / 2)), 0);
    //_lastUpdate = Rokon.getTime();
  }
  
  public void onUpdate(Sprite sprite) {
    timeDiff = Rokon.time - _lastUpdate;
    _angle += (float)((float)(_frequency * 360f) / 1000f * (float)timeDiff);
    Debug.print("td=" + timeDiff + " Rotating at " + _angle);
    sprite.setRotation(_angle % 360);
    _lastUpdate = Rokon.time;
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.