1 /* 2 * JaLingo, http://jalingo.sourceforge.net/ 3 * 4 * Copyright (c) 2002-2006 Oleksandr Shyshko 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation; either version 2 of the License, or 9 * (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 */ 20 21 package ja.lingo.application.util.starlabel; 22 23 import ja.lingo.application.util.starlabel.figures.StarFigure; 24 import ja.lingo.application.util.starlabel.figures.IFigure; 25 26 import java.awt.*; 27 import java.awt.geom.AffineTransform; 28 29 public class StarAnimation { 30 protected int frameCount; 31 32 protected IFigure[] sprites; 33 StarAnimation( int frameCount )34 public StarAnimation( int frameCount ) { 35 this.frameCount = frameCount; 36 37 sprites = new IFigure[frameCount]; 38 for ( int i = 0; i < frameCount; i++ ) { 39 sprites[i] = new StarFigure(); 40 sprites[i].transform( AffineTransform.getScaleInstance( 10, 10 ) ); 41 } 42 } 43 draw( Graphics2D g2, int frame )44 public void draw( Graphics2D g2, int frame ) { 45 sprites[frame % frameCount].draw( g2 ); 46 } 47 getFrameCount()48 public int getFrameCount() { 49 return frameCount; 50 } 51 }