All pastes #382066 Raw Edit

Miscellany

public java v1 · immutable
·published 2007-03-05 08:28 UTC
rendered paste body
package ntype;import java.util.LinkedList;import java.util.ListIterator;import com.sun.opengl.util.j2d.TextRenderer;public class NTypeGraphicsTextAnimated{	private int x;	private int y;	private String letter;	private long lasttime = 0;	private int stage = 0;	private double height;	private int change;		private static LinkedList<NTypeGraphicsTextAnimated> animateds = new LinkedList<NTypeGraphicsTextAnimated>();	private static long deltaT;	private static int velocity = 30;		public NTypeGraphicsTextAnimated(char letter, int x, int y, double lineHeight)	{		this.letter = Character.toString(letter);		this.x = x;		this.y = y;		this.height = lineHeight;		deltaT();		animateds.add(this);	}		/**	 * Draws all animateds and removes any that are complete from the list	 * @param textRenderer	 */	public static void draw(TextRenderer textRenderer)	{		ListIterator<NTypeGraphicsTextAnimated> iterator = animateds.listIterator();		while (iterator.hasNext())		{		    if(iterator.next().drawMe(textRenderer)) iterator.remove();		}	}		/**	 * Draws this animated, returns true if it is complete	 * @param textRenderer	 * @return	 */	public boolean drawMe(TextRenderer textRenderer)	{		deltaT = deltaT();		change = (int) (deltaT * (long) velocity / (long) 100000000.0);		System.out.println(change);		textRenderer.setColor(1.0f, 0.0f, 0.0f, (100.0f - (float) stage) / 100.0f);		textRenderer.draw(letter, x, (int) (y + (stage * height / 50)));		stage += change;		if(stage > 100) return true; else return false;	}	    private long deltaT()    {    	long retval = System.nanoTime() - lasttime;    	lasttime = System.nanoTime();    	return(retval);    }}