Add debug rendering of an entity's current tile
This commit is contained in:
parent
f6fbad0e6d
commit
c32451a597
Binary file not shown.
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 9.9 KiB |
Binary file not shown.
@ -3,7 +3,9 @@ package com.me.pacman.entity;
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.me.pacman.PacDude;
|
||||
import com.me.pacman.entity.ai.Target;
|
||||
import com.me.pacman.level.LevelTile;
|
||||
import com.me.pacman.state.LevelState;
|
||||
|
||||
public abstract class Entity {
|
||||
@ -24,6 +26,10 @@ public abstract class Entity {
|
||||
return;
|
||||
}
|
||||
batch.draw(texture, (int) (pos.x * 8) + (offsetX - 8), (pos.y * 8) + (offsetY - 8));
|
||||
|
||||
if (PacDude.DEBUG) {
|
||||
state.level.renderTile(LevelTile.DEBUG, (int) pos.x, (int) pos.y, offsetX, offsetY);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean onSameTile(Entity other) {
|
||||
|
@ -1,6 +1,8 @@
|
||||
package com.me.pacman.entity;
|
||||
|
||||
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||
import com.badlogic.gdx.math.Vector2;
|
||||
import com.me.pacman.level.LevelTile;
|
||||
import com.me.pacman.state.PlayState;
|
||||
|
||||
@ -54,7 +56,7 @@ public class Pacman extends MovableEntity {
|
||||
deathFrame++;
|
||||
}
|
||||
|
||||
LevelTile tile = state.level.getTile(pos.x, pos.y);
|
||||
LevelTile tile = state.level.getTile(pos);
|
||||
if (tile == null) {
|
||||
return;
|
||||
}
|
||||
|
@ -10,6 +10,7 @@ public class Level {
|
||||
|
||||
private TextureRegion pellet;
|
||||
private TextureRegion powerPellet;
|
||||
private TextureRegion debug;
|
||||
|
||||
// Grid of tiles, [rows][columns]
|
||||
public LevelTile[][] tiles;
|
||||
@ -23,6 +24,7 @@ public class Level {
|
||||
|
||||
pellet = game.assets.level[0][6];
|
||||
powerPellet = game.assets.level[0][7];
|
||||
debug = game.assets.level[1][7];
|
||||
|
||||
LevelLoader loader = new LevelLoader(level);
|
||||
tiles = loader.loadLevel();
|
||||
@ -68,21 +70,27 @@ public class Level {
|
||||
for (int i = 0; i < tiles.length; i++) {
|
||||
LevelTile[] row = tiles[i];
|
||||
for (int j = 0; j < row.length; j++) {
|
||||
LevelTile component = row[j];
|
||||
renderTile(row[j], j, i, offsetX, offsetY);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void renderTile(LevelTile tile, int tileX, int tileY, int offsetX, int offsetY) {
|
||||
TextureRegion sprite;
|
||||
switch (component) {
|
||||
switch (tile) {
|
||||
case PELLET:
|
||||
sprite = pellet;
|
||||
break;
|
||||
case POWER_PELLET:
|
||||
sprite = powerPellet;
|
||||
break;
|
||||
case DEBUG:
|
||||
sprite = debug;
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
game.batch.draw(sprite, (j * 8) + offsetX, (i * 8) + offsetY);
|
||||
}
|
||||
return;
|
||||
}
|
||||
game.batch.draw(sprite, (tileX * 8) + offsetX, (tileY * 8) + offsetY);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ public enum LevelTile {
|
||||
GHOST_CHAMBER,
|
||||
GHOST_GATE,
|
||||
EMPTY,
|
||||
DEBUG,
|
||||
;
|
||||
|
||||
public boolean isPassable() {
|
||||
|
Loading…
Reference in New Issue
Block a user