public class Sprite { public final int SIZE; private int x, y; private int crap; public int[] pixels; private SpriteSheet sheet; public static Sprite grass = new Sprite(32, 0, 0, SpriteSheet.tiles); public static Sprite grassRock = new Sprite(32, 1, 0, SpriteSheet.tiles); public static Sprite grassFlower = new Sprite(32, 2, 0, SpriteSheet.tiles); public static Sprite voidSprite = new Sprite(32, 0xff00ff); public Sprite(int size, int x, int y, SpriteSheet sheet){ SIZE = size; pixels = new int[SIZE*SIZE]; this.x = x * size; this.y = y * size; this.sheet = sheet; load(); } public Sprite(int size, int color){ SIZE = size; pixels = new int[SIZE * SIZE]; setColor(color); } private void setColor(int color) { for (int i = 0; i < SIZE*SIZE; i ++){ pixels [i] = color; } } private void load() { for (int y = 0; y < SIZE; y++){ for (int x = 0; x < SIZE; x++){ pixels[x + y * SIZE] = sheet.pixels[(x + this.x)+(y + this.y) * sheet.SIZE]; } } } }