Es stürzt zumindest net ab

master
Jonathan Hager 6 years ago
parent d064d8d208
commit 12e6752118

@ -10,6 +10,11 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.maps.MapLayers;
import com.badlogic.gdx.maps.MapObjects;
import com.badlogic.gdx.maps.objects.RectangleMapObject;
import com.badlogic.gdx.math.Intersector;
import com.badlogic.gdx.math.Rectangle;
import com.dungeoncrawler.view.*;
import com.dungeoncrawler.model.Dungeon;
import com.dungeoncrawler.model.DungeonGenerator;
@ -114,7 +119,7 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(v == null){
// Position des Players, etc. werden aktualisiert
updateObjects();
updateObjects(level, posRoom);
// Raum, in dem sich der Player jetzt befindet, wird aktualisiert
updateRoom();
@ -131,8 +136,18 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
batch.dispose();
}
public void updateObjects(){
d.getPlayer().update();
public void updateObjects(int level, int[] posRoom){
MapLayers layers = m.getM().getMaps()[level][posRoom[0]][posRoom[1]].getLayers();
MapObjects objects = layers.get(0).getObjects();
System.out.println(objects.getCount());
RectangleMapObject rectangleObject = objects.getByType(RectangleMapObject.class).get(0);
Rectangle rectangle = rectangleObject.getRectangle();
if(Intersector.overlaps(rectangle, m.getPlayer().getBoundingRectangle())){
d.getPlayer().update();
}
}
public void updateRoom(){

@ -27,7 +27,7 @@ public class GameScreen {
Texture archerTexture;
//MAP
Map m;
private Map m;
TiledMapRenderer tmr;
TiledMap tm;
OrthographicCamera camera;
@ -75,7 +75,7 @@ public class GameScreen {
int xPosRoom = posRoom[0];
int yPosRoom = posRoom[1];
tm = m.getMaps()[level][xPosRoom][yPosRoom];
tm = getM().getMaps()[level][xPosRoom][yPosRoom];
if(tm == null){
System.out.println("Dein scheiß geht net");
@ -163,6 +163,9 @@ public class GameScreen {
public float getPlayerSpriteY(){
return player.getY();
}
public Sprite getPlayer(){
return player;
}
public float getEntitySpriteX(int i){
return entitySprites[i].getX();
@ -186,4 +189,11 @@ public class GameScreen {
entitySprites[i].setY(y);
}
/**
* @return the m
*/
public Map getM() {
return m;
}
}

@ -7,7 +7,10 @@ package com.dungeoncrawler.view;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.maps.MapLayer;
import com.badlogic.gdx.maps.MapLayers;
import com.badlogic.gdx.maps.MapObjects;
import com.badlogic.gdx.maps.objects.RectangleMapObject;
import com.badlogic.gdx.maps.tiled.TiledMap;
import com.badlogic.gdx.maps.tiled.TiledMapTileLayer;
import com.badlogic.gdx.maps.tiled.tiles.StaticTiledMapTile;
@ -113,7 +116,8 @@ public class MapGenerator {
// dynamicLayer: Beinhaltet alle Sprites, die ihre Postition ändern können (Entities, Items)
// staticLayer: Beinhaltet alle Tiles und alles statische, was sich im Raum nicht ändern kann
MapLayers layers = tempRoom.getLayers();
TiledMapTileLayer collisionLayer = new TiledMapTileLayer(mapDimensionX, mapDimensionY, 48, 48);
MapLayer collisionLayer = new MapLayer();
TiledMapTileLayer dynamicLayer = new TiledMapTileLayer(mapDimensionX, mapDimensionY, 48, 48);
TiledMapTileLayer staticLayer = new TiledMapTileLayer(mapDimensionX, mapDimensionY, 48, 48);
@ -135,6 +139,11 @@ public class MapGenerator {
}
}
RectangleMapObject collision = new RectangleMapObject(48, 48, roomDimensionX, roomDimensionY);
collisionLayer.getObjects().add(collision);
collisionLayer.setVisible(false);
layers.add(collisionLayer);
layers.add(dynamicLayer);
layers.add(staticLayer);

Loading…
Cancel
Save