Change maptileinfo to be an indexed image. Move tile-specific code into editor renderer.
Co-authored-by: r3cp3ct <45179536+r3cp3ct@users.noreply.github.com> Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
4c526ba594
commit
5e1f69a9d0
Binary file not shown.
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 425 B |
@ -3,17 +3,16 @@ package sig.engine;
|
|||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.awt.image.DataBufferByte;
|
import java.awt.image.DataBufferByte;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
|
|
||||||
public enum Sprite{
|
public enum Sprite{
|
||||||
|
|
||||||
NANA(new File(new File("..","sprites"),"3x.png")),
|
//NANA(new File(new File("..","sprites"),"3x.png")),
|
||||||
NANA_SMALL(new File(new File("..","sprites"),"1x.gif")),
|
NANA_SMALL(new File(new File("..","sprites"),"1x.gif")),
|
||||||
TILE_SHEET(new File(new File("..","sprites"),"tiles.gif")),
|
TILE_SHEET(new File(new File("..","sprites"),"tiles.gif")),
|
||||||
MAP_TILE_INFO(new File(new File("..","sprites"),"maptileinfo-1.png.png")),
|
MAP_TILE_INFO(new File(new File("..","sprites"),"maptileinfo.gif")),
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ import java.awt.event.KeyEvent;
|
|||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
|
||||||
import sig.RabiClone;
|
import sig.RabiClone;
|
||||||
|
import sig.engine.Alpha;
|
||||||
import sig.engine.MouseScrollValue;
|
import sig.engine.MouseScrollValue;
|
||||||
import sig.engine.Panel;
|
import sig.engine.Panel;
|
||||||
import sig.engine.Sprite;
|
import sig.engine.Sprite;
|
||||||
@ -58,5 +59,12 @@ public class EditorRenderer extends LevelRenderer{
|
|||||||
public void draw(byte[] p) {
|
public void draw(byte[] p) {
|
||||||
super.draw(p);
|
super.draw(p);
|
||||||
Draw_Sprite(16, 16, Sprite.MAP_TILE_INFO);
|
Draw_Sprite(16, 16, Sprite.MAP_TILE_INFO);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void drawMapTileForEditorMode(int x, int y) {
|
||||||
|
if (x==RabiClone.p.highlightedSquare.getX()&&y==RabiClone.p.highlightedSquare.getY()) {
|
||||||
|
DrawTransparentTile(x*Tile.TILE_WIDTH-this.getX(),y*Tile.TILE_HEIGHT-this.getY(),selectedTile,Alpha.ALPHA160);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,8 +10,6 @@ import sig.map.Tile;
|
|||||||
|
|
||||||
public class LevelRenderer extends Object{
|
public class LevelRenderer extends Object{
|
||||||
|
|
||||||
Tile selectedTile = Tile.WALL;
|
|
||||||
|
|
||||||
public LevelRenderer(Panel panel) {
|
public LevelRenderer(Panel panel) {
|
||||||
super(panel);
|
super(panel);
|
||||||
this.setSprite(Sprite.TILE_SHEET);
|
this.setSprite(Sprite.TILE_SHEET);
|
||||||
@ -35,17 +33,15 @@ public class LevelRenderer extends Object{
|
|||||||
DrawTile(x*Tile.TILE_WIDTH-this.getX(),y*Tile.TILE_HEIGHT-this.getY(),RabiClone.CURRENT_MAP.getTile(x,y));
|
DrawTile(x*Tile.TILE_WIDTH-this.getX(),y*Tile.TILE_HEIGHT-this.getY(),RabiClone.CURRENT_MAP.getTile(x,y));
|
||||||
//System.out.println((x*Tile.TILE_WIDTH+(this.getX()%Tile.TILE_WIDTH) )+","+(y*Tile.TILE_HEIGHT+(this.getY()%Tile.TILE_HEIGHT)));
|
//System.out.println((x*Tile.TILE_WIDTH+(this.getX()%Tile.TILE_WIDTH) )+","+(y*Tile.TILE_HEIGHT+(this.getY()%Tile.TILE_HEIGHT)));
|
||||||
}
|
}
|
||||||
if (this instanceof EditorRenderer) {
|
drawMapTileForEditorMode(x,y);
|
||||||
if (x==RabiClone.p.highlightedSquare.getX()&&y==RabiClone.p.highlightedSquare.getY()) {
|
|
||||||
DrawTransparentTile(x*Tile.TILE_WIDTH-this.getX(),y*Tile.TILE_HEIGHT-this.getY(),selectedTile,Alpha.ALPHA160);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Draw_Object(RabiClone.player);
|
Draw_Object(RabiClone.player);
|
||||||
Draw_Object(RabiClone.player2);
|
Draw_Object(RabiClone.player2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void drawMapTileForEditorMode(int x, int y) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Draws an object where its sprite is centered among its position and drawn relative to the camera position.
|
* Draws an object where its sprite is centered among its position and drawn relative to the camera position.
|
||||||
* @param object
|
* @param object
|
||||||
@ -58,7 +54,7 @@ public class LevelRenderer extends Object{
|
|||||||
Draw_Sprite_Partial(x,y, tile.getSpriteSheetX()*tile.getTileWidth(), tile.getSpriteSheetY()*tile.getTileHeight(), tile.getTileWidth(), tile.getTileHeight(), getSprite());
|
Draw_Sprite_Partial(x,y, tile.getSpriteSheetX()*tile.getTileWidth(), tile.getSpriteSheetY()*tile.getTileHeight(), tile.getTileWidth(), tile.getTileHeight(), getSprite());
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DrawTransparentTile(double x, double y, Tile tile, Alpha alpha) {
|
protected void DrawTransparentTile(double x, double y, Tile tile, Alpha alpha) {
|
||||||
Draw_Sprite_Partial_Ext(x,y, tile.getSpriteSheetX()*tile.getTileWidth(), tile.getSpriteSheetY()*tile.getTileHeight(), tile.getTileWidth(), tile.getTileHeight(), getSprite(), alpha);
|
Draw_Sprite_Partial_Ext(x,y, tile.getSpriteSheetX()*tile.getTileWidth(), tile.getSpriteSheetY()*tile.getTileHeight(), tile.getTileWidth(), tile.getTileHeight(), getSprite(), alpha);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user