import com.badlogic.gdx.graphics.glutils.ShapeRenderer; //导入方法依赖的package包/类
public void debugRender(ShapeRenderer shapeRenderer, SpriteBatch spriteBatch, BitmapFont font, Camera camera) {
// box
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.setColor(Color.BLACK);
for (float x = 0; x < mapWidth; x++) {
for (float y = 0; y < mapHeight; y++) {
shapeRenderer.box(x, y, 0, 1f, 1f, 0f);
}
}
shapeRenderer.end();
// fps
spriteBatch.begin();
font.setColor(Color.RED);
font.draw(spriteBatch, Gdx.graphics.getFramesPerSecond() + "", 0, 15);
font.setColor(Color.WHITE);
// costs + cords
for (int x = 0; x < mapWidth; x++) {
for (int y = 0; y < mapHeight; y++) {
Vector2 point = new Vector2(x, y + 1);
CoordinateUtil.worldToTouch(point, camera);
font.draw(spriteBatch, cost[x][y] + "", point.x, point.y);
// point = new Vector2(x, y);
// CoordinateUtil.worldToTouch(point, camera);
// font.draw(spriteBatch, x + "", point.x, point.y);
//
// point = new Vector2(x + 1, y);
// CoordinateUtil.worldToTouch(point, camera);
// font.draw(spriteBatch, y + "", point.x, point.y);
}
}
spriteBatch.end();
// vector
shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
shapeRenderer.setColor(Color.RED);
for (int x = 0; x < mapWidth; x++) {
for (int y = 0; y < mapHeight; y++) {
Vector2 dir = direction[x][y];
dir = dir.cpy().scl(0.5f);
shapeRenderer.circle(x + 0.5f, y + 0.5f, 0.1f, 20);
shapeRenderer.line(x + 0.5f, y + 0.5f, x + dir.x + 0.5f, y + dir.y + 0.5f);
}
}
shapeRenderer.end();
}