все! Это мой первый пост в StackOverflow, и я подумал, что могу начать с сайта с отчаянным криком о помощи!LibGDX - Проверка соответствия - Плиточные карты и плеер
В настоящее время я делаю игру в LibGDX, и я пытаюсь заставить моего игрока столкнуться с мозаичной картой, которая, я считаю, я правильно инициализировал в коде.
Однако моя программа NullPointer-ing, где она пытается найти tileWidth и tileHeight указанного TiledMapLayer.
Я катится этот в моей голове, но я не могу найти решение ...
Что я делаю неправильно?
Вот мой код:
public class PlayScreen implements Screen{
EscapeGame game;
Player player;
OrthographicCamera cam;
private TiledMap prototype;
private OrthogonalTiledMapRenderer renderer;
private SpriteBatch batch;
Texture playerTexture;
public PlayScreen(EscapeGame game){
this.game = game;
}
@Override
public void show() {
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
TmxMapLoader tmx = new TmxMapLoader();
prototype = new TmxMapLoader().load("maps/Prototype2.tmx");
renderer = new OrthogonalTiledMapRenderer(prototype);
cam = new OrthographicCamera();
batch = new SpriteBatch();
playerTexture = new Texture("Sprites/prototagonist1.png");
player = new Player(new Sprite(playerTexture), (TiledMapTileLayer) prototype.getLayers().get("MetaLayer"));
player.setPosition(7 * player.getMeta().getTileWidth(), 11 * player.getMeta().getTileHeight());
}
...
public class Player extends Sprite {
float gravity = 360 * 3.5f;
public Vector2 velocity;
private TiledMapTileLayer MetaLayer; float oldY = getY(), oldX = getX(), tileWidth = MetaLayer.getTileWidth(), tileHeight = MetaLayer.getTileHeight();
//getters and setters
public Player (Sprite sprite, TiledMapTileLayer Meta){
super(sprite);
this.MetaLayer = MetaLayer;
}
public TiledMapTileLayer getMeta() {
return MetaLayer;
}
public void setMeta(TiledMapTileLayer Meta) {
this.MetaLayer = MetaLayer;
}
...
Какая линия бросает 'NPE'? – ssantos
Он бросает NPE в «tileWidth = MetaLayer.getTileWidth()». – Ralphanese
Ну, вы не назначаете MetaLayer в любое время, поэтому его значение равно null. – ssantos