view game/AnimatedPointElement.java @ 134:4c0dec72e2f0

Whitespace cosmetic cleanup.
author Matti Hamalainen <ccr@tnsp.org>
date Thu, 24 Nov 2011 21:51:54 +0200
parents a0376e40102e
children 5eea4719b429
line wrap: on
line source

/*
 * Ristipolku animated game element
 * (C) Copyright 2011 Matti 'ccr' Hämäläinen <ccr@tnsp.org>
 */
package game;

import java.awt.*;
import java.awt.geom.*;
import java.util.*;
import java.math.*;


public class AnimatedPointElement
{
    private float stime, value, steps;
    private IDMPoint pos;
    private Interpolate lerpV, lerpX, lerpY;
    boolean active, first;
    String text;

    public AnimatedPointElement(IDMPoint start, String text)
    {
        Random rnd = new Random();
        steps = 100;

        lerpX = new Interpolate(start.x - rnd.nextInt(100) + 50, start.x, steps);
        lerpY = new Interpolate(start.y - rnd.nextInt(100) + 50, start.y, steps);
        lerpV = new Interpolate(0.0f, 1.0f, steps);

        pos = new IDMPoint(start);
        active = false;
        first = true;
        this.text = text;
    }

    public void animate(float time)
    {
        if (first)
        {
            first = false;
            active = true;
            stime = time;
        }

        if (active)
        {
            float t = (time - stime);
            if (t >= steps)
            {
                t = steps;
                active = false;
            }

            value = lerpV.getValue(t);
            pos.x = lerpX.getValue(t);
            pos.y = lerpY.getValue(t);
        }
    }

    public void paint(Graphics2D g)
    {
        if (!active)
            return;

        Paint psave = g.getPaint();
        AffineTransform tsave = g.getTransform();
        Composite csave = g.getComposite();

//        g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, typeValue));
        g.setFont(G.fonts[2]);
        g.setPaint(new Color(value, value, value, value));
        g.drawString(text, pos.x, pos.y);

        g.setTransform(tsave);
        g.setComposite(csave);
        g.setPaint(psave);
    }
}