Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package h.c.rpg.graphics;
- public class Sprite {
- private int x, y;
- private SpriteSheet sheet;
- public final int SIZE;
- public int[] pixels;
- // x: 0 - 15 y: 0 - 15 on sprite sheet
- public static Sprite grass = new Sprite(16, 0, 0, SpriteSheet.tiles); // grass is 16bit at 0, 0 on sprite sheet
- public static Sprite flower = new Sprite(16, 0, 1, SpriteSheet.tiles); // flower is 16bit at 0, 1 on sprite sheet
- public static Sprite rock = new Sprite(16, 0, 2, SpriteSheet.tiles); // rocks is 16bit at 0, 2 on sprite sheet
- public static Sprite voidSprite = new Sprite(16, 0x1b87e0); // sets voidSprite to color 0x1b87e0 - blue
- // Spawn Sprite s here
- public static Sprite spawn_grass = new Sprite(16, 1, 4, SpriteSheet.spawn_level); // loads sprites from spawn_level sheet
- public static Sprite spawn_leaves = new Sprite(16, 3, 0, SpriteSheet.spawn_level);
- public static Sprite spawn_water = new Sprite(16, 2, 1, SpriteSheet.spawn_level);
- public static Sprite spawn_water2 = new Sprite(16,3, 2, SpriteSheet.spawn_level);
- public static Sprite spawn_wall = new Sprite(16, 0, 0, SpriteSheet.spawn_level);
- public static Sprite spawn_wall2 = new Sprite(16, 3, 0, SpriteSheet.spawn_level);
- public static Sprite spawn_wood_floor = new Sprite(16, 4, 0, SpriteSheet.spawn_level);
- public static Sprite spawn_cobble_floor = new Sprite(16, 0, 1, SpriteSheet.spawn_level);
- public static Sprite spawn_purp_wool_floor = new Sprite(16, 1, 2, SpriteSheet.spawn_level);
- // Player Sprite s here
- public static Sprite player_forward = new Sprite(32, 0, 5, SpriteSheet.tiles);
- public static Sprite player_backward = new Sprite(32, 2, 5, SpriteSheet.tiles);
- public static Sprite player_side = new Sprite(32, 1, 5, SpriteSheet.tiles);
- public static Sprite player_forward_1 = new Sprite(32, 0, 6, SpriteSheet.tiles);
- public static Sprite player_forward_2 = new Sprite(32, 0, 7, SpriteSheet.tiles);
- public static Sprite player_side_1 = new Sprite(32, 1, 6, SpriteSheet.tiles);
- public static Sprite player_side_2 = new Sprite(32, 1, 7, SpriteSheet.tiles);
- public static Sprite player_backward_1 = new Sprite(32, 2, 6, SpriteSheet.tiles);
- public static Sprite player_backward_2 = new Sprite(32, 2, 7, SpriteSheet.tiles);
- public Sprite(int size, int x, int y, SpriteSheet sheet) {
- SIZE = size; // gives SIZE a value
- pixels = new int[SIZE * SIZE]; // sets it to the size of the sprites
- this.x = x * size; // finds x coordinate in the spritesheet
- this.y = y * size; // finds y coordinate in the spritesheet
- 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() { // four lines of code that find & take single sprites from spritesheet
- 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];
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement