FRÜHJAHRESGEPUTZT:

Entity.java
Package entities
MainMenu.java
master
GammelJan 6 years ago
parent a663709746
commit fd009e8539

@ -41,80 +41,59 @@ public abstract class Entity {
} }
public void rdmMove(float xPlayer, float yPlayer){ public void rdmMove(float xPlayer, float yPlayer){
if(xPlayer == xPos){ if(xPlayer == xPos){ //PLAYER auf X-Achse von Archer
if(yPlayer == yPos){} if(yPlayer == yPos){} // //PLAYER pos = Archer pos
else if(yPlayer > yPos){movementY = -1f;} else if(yPlayer > yPos){movementY = -1f;} // //PLAYER über Archer
else if(yPlayer < yPos){movementY = 1f;} else if(yPlayer < yPos){movementY = 1f;} // //PLAYER unter Archer
} } //
else if(yPlayer == yPos){ else if(yPlayer == yPos){ //PLAYER auf Y-Achse von Archer
if(xPlayer == xPos){} if(xPlayer == xPos){} // //PLAYER pos = Archer pos
else if(xPlayer > xPos){movementX = 1f;} else if(xPlayer > xPos){movementX = 1f;} // //PLAYER rechts von Archer
else if(xPlayer < xPos){movementX = -1f;} else if(xPlayer < xPos){movementX = -1f;} // //PLAYER links von Archer
} } //
else if(xPlayer > xPos){ else if(xPlayer > xPos){ //PLAYER rechts von Archer
if(yPlayer > yPos){ //archer ist im Quadrant III if(yPlayer > yPos){ // //PLAYER ist im Quadrant I
if((yPos - yPlayer) > (xPos - xPlayer)){ if((yPlayer - yPos) > (xPlayer - xPos)){ // // //Weg zu PLAYER x kürzer als zu PLAYER y
movementY = 1f; movementX = 1f; // // //
} } // // //
else{ else{ // // //Weg zu PLAYER y kürzer als zu PLAYER x
movementX = 1f; movementY = 1f; // //
} } // //
} } // //
else if(yPlayer < yPos){ //archer ist im Quadrant IV else if(yPlayer < yPos){ // //PLAYER ist im Quadrant II
if((yPos - yPlayer) > (xPlayer - xPos)){ if((yPos - yPlayer) > (xPlayer - xPos)){ // //Weg zu PLAYER x kürzer als zu PLAYER y
movementX = 1f; movementX = 1f; // //
} } // //
else{ else{ // //Weg zu PLAYER y kürzer als zu PLAYER y
movementY = -1f; movementY = -1f; //
} } //
} } //
} } //
else if(xPlayer < xPos){ else if(xPlayer < xPos){ //PLAYER links von Archer
if(yPlayer < yPos){ //archer ist im Quadrant II if(yPlayer < yPos){ // //PLAYER ist im Quadrant III
if((yPlayer - yPos) > (xPlayer - xPos)){ if((yPlayer - yPos) > (xPlayer - xPos)){ // // //Weg zu PLAYER x kürzer als zu PLAYER y
movementX = -1f; movementX = -1f; // // //
} } // // //
else{ else{ // // //Weg zu PLAYER y kürzer als zu PLAYER x
movementY = 1f; movementY = -1f; // //
} } // //
} } // //
else if(yPlayer > yPos){ //archer ist im Quadrant I else if(yPlayer > yPos){ // //PLAYER ist im Quadrant IV
if((yPlayer - yPos) > (xPos - xPlayer)){ if((yPlayer - yPos) > (xPos - xPlayer)){ // //Weg zu PLAYER x kürzer als zu PLAYER y
movementY = -1; movementX = -1; // //
} } // //
else{ else{ // //Weg zu PLAYER y kürzer als zu PLAYER x
movementX = -1; movementY = 1; //
} } ////////////
} }
} }
move(); move();
/*
switch((int) (Math.random() * 5)){
case 0: //left
setMovementX(-3);
move();
break;
case 1: //right
setMovementX(3);
move();
break;
case 2: //up
setMovementY(3);
move();
break;
case 3: //down
setMovementY(-3);
move();
break;
}
*/
} }
public int direction(){ public int direction(){ // returns direction the entity is facing depending on its movement
if(movementX < 0f){ if(movementX < 0f){ // TIS IS SHIT - NEED REWORK
return 3; return 3;
} }
else if(movementX < 3f){ else if(movementX < 3f){
@ -129,6 +108,8 @@ public abstract class Entity {
return -1; return -1;
} }
// GETTER + SETTER
public float getxPos() { public float getxPos() {
return xPos; return xPos;
} }

@ -26,12 +26,7 @@ public class MainMenu{
Sprite cursor; Sprite cursor;
float CursorMoveX; float CursorMoveX;
float CursorMoveY; float CursorMoveY;
/*
//PLAYER
Texture p;
Sprite player;
TextureRegion[][] regions;
*/
public MainMenu() { public MainMenu() {
//MENU-SCREEN //MENU-SCREEN
float w = Gdx.graphics.getWidth(); float w = Gdx.graphics.getWidth();
@ -78,7 +73,7 @@ public class MainMenu{
public void moveCursor(int direction){ public void moveCursor(int direction){
switch(direction){ switch(direction){ //starts the directional movement of the cursor in one direction depending on the pressed key
case 0: case 0:
CursorMoveY = 10f; break; CursorMoveY = 10f; break;
case 1: case 1:
@ -89,7 +84,7 @@ public class MainMenu{
CursorMoveX = -10f; break; CursorMoveX = -10f; break;
} }
} }
public void stopCursor(int direction){ public void stopCursor(int direction){ //stops the directional movement of the cursor in one direction depending on the released key
switch(direction){ switch(direction){
case 0: case 0:
CursorMoveY = 0f; break; CursorMoveY = 0f; break;
@ -101,12 +96,12 @@ public class MainMenu{
CursorMoveX = 0f; break; CursorMoveX = 0f; break;
} }
} }
public int click(){ public int click(){ // prüft ob cursor mit button (START) überlappt
Rectangle rectangleCursor = cursor.getBoundingRectangle(); Rectangle rectangleCursor = cursor.getBoundingRectangle();
Rectangle rectangleButton = button.getBoundingRectangle(); Rectangle rectangleButton = button.getBoundingRectangle();
boolean overlapsPlay = rectangleCursor.overlaps(rectangleButton); boolean overlapsPlay = rectangleCursor.overlaps(rectangleButton);
if(overlapsPlay == true){ if(overlapsPlay == true){
return 0; return 0; // ints weil für mehr buttons eine ID festgelegt werden kann. 0 = START - -1 = kein button
} }
else{return -1;} else{return -1;}
} }

@ -20,8 +20,6 @@ public class View {
Sprite player; Sprite player;
TextureRegion[][] regions; TextureRegion[][] regions;
//ENTITIES //ENTITIES
Texture[] entityTextures; Texture[] entityTextures;
Sprite[] entitySprites; Sprite[] entitySprites;
@ -31,13 +29,10 @@ public class View {
//MAP //MAP
Map m; Map m;
TiledMapRenderer tmr; TiledMapRenderer tmr;
TiledMap test; TiledMap tm;
OrthographicCamera camera; OrthographicCamera camera;
public View(Dungeon d) { public View(Dungeon d) {
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
float wc = w/2;
//PLAYER //PLAYER
p = new Texture("Player.png"); p = new Texture("Player.png");
@ -49,12 +44,11 @@ public class View {
//ENTITIES //ENTITIES
entityTextures = new Texture[5]; entityTextures = new Texture[5];
entitySprites = new Sprite[5]; entitySprites = new Sprite[5];
archerTexture = new Texture("archer.png");
archerRegions = TextureRegion.split(archerTexture, 64, 64);
//MAP //MAP
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
m = new Map(); m = new Map();
camera = new OrthographicCamera(1, h/w); camera = new OrthographicCamera(1, h/w);
@ -64,40 +58,43 @@ public class View {
m.setMaps(maps); m.setMaps(maps);
mg.ichWillSpielen(m.getMaps()); mg.ichWillSpielen(m.getMaps());
test = new TiledMap(); tm = new TiledMap();
tmr = new OrthogonalTiledMapRenderer(test); tmr = new OrthogonalTiledMapRenderer(tm);
} }
public void render (SpriteBatch batch, Player p, Entity[] e, int[] tile, int level, int[] posRoom) { public void render (SpriteBatch batch, Player p, Entity[] e, int[] tile, int level, int[] posRoom) {
Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
//setzt player Sprite auf richtige Position
player.setX(p.getxPos()); player.setX(p.getxPos());
player.setY(p.getyPos()); player.setY(p.getyPos());
int xPosRoom = posRoom[0]; int xPosRoom = posRoom[0];
int yPosRoom = posRoom[1]; int yPosRoom = posRoom[1];
test = m.getMaps()[level][xPosRoom][yPosRoom]; tm = m.getMaps()[level][xPosRoom][yPosRoom];
if(test == null){ if(tm == null){
System.out.println("Dein scheiß geht net"); System.out.println("Dein scheiß geht net");
} }
else{ else{
tmr = new OrthogonalTiledMapRenderer(test); tmr = new OrthogonalTiledMapRenderer(tm);
} }
if(p.getMovementX() == 3){ // dreht SpielerSprite je nach Bewegungsrichtung
if(p.getMovementX() == 3){ //RECHTS
player.setRegion(regions[0][1]); player.setRegion(regions[0][1]);
} }
if(p.getMovementX() == -3){ if(p.getMovementX() == -3){ //LINKS
player.setRegion(regions[0][3]); player.setRegion(regions[0][3]);
} }
if(p.getMovementY() == 3){ if(p.getMovementY() == 3){ //OBEN
player.setRegion(regions[0][0]); player.setRegion(regions[0][0]);
} }
if(p.getMovementY() == -3){ if(p.getMovementY() == -3){ //UNTEN
player.setRegion(regions[0][2]); player.setRegion(regions[0][2]);
} }
@ -112,40 +109,40 @@ public class View {
//BATCH //BATCH
batch.begin(); batch.begin();
player.draw(batch); player.draw(batch);
//DRAW'T JEDES ENTITY - prüft vorher ob vorhanden
for(int i = 0; i < e.length; i++){ for(int i = 0; i < e.length; i++){
if(entitySprites[i] != null){
if(entitySprites[i] != null){ entitySprites[i].setX(e[i].getxPos());
entitySprites[i].setX(e[i].getxPos()); entitySprites[i].setY(e[i].getyPos());
entitySprites[i].setY(e[i].getyPos()); switch(e[i].direction()){
switch(e[i].direction()){ case -1:
case -1: break;
break; case 0:
case 0: entitySprites[i].setRegion(archerRegions[0][0]);
entitySprites[i].setRegion(archerRegions[0][0]); break;
break; case 1:
case 1: entitySprites[i].setRegion(archerRegions[0][1]);
entitySprites[i].setRegion(archerRegions[0][1]); break;
break; case 2:
case 2: entitySprites[i].setRegion(archerRegions[0][2]);
entitySprites[i].setRegion(archerRegions[0][2]); break;
break; case 3:
case 3: entitySprites[i].setRegion(archerRegions[0][3]);
entitySprites[i].setRegion(archerRegions[0][3]); break;
break;
} }
entitySprites[i].draw(batch); entitySprites[i].draw(batch);
} }
} }
batch.end(); batch.end();
} }
public void newEntity(int i,Entity e, int x, int y){ public void newEntity(int i,Entity e, int x, int y){
if(e.getId() == 0){ if(e.getId() == 0){ //nimmt entity ID -> 0 = Archer || 1 = Swordsman
entityTextures[i] = new Texture("archer.png"); entityTextures[i] = new Texture("archer.png");
entitySprites[i] = new Sprite(archerRegions[0][2]); entitySprites[i] = new Sprite(archerRegions[0][2]);
entitySprites[i].setX(x); entitySprites[i].setX(x);
@ -159,18 +156,13 @@ public class View {
} }
} }
//GETTER
public float getPlayerSpriteX(){ public float getPlayerSpriteX(){
return player.getX(); return player.getX();
} }
public float getPlayerSpriteY(){ public float getPlayerSpriteY(){
return player.getY(); return player.getY();
} }
public void setPlayerSpriteX(float x){
player.setX(x);
}
public void setPlayerSpriteY(float y){
player.setY(y);
}
public float getEntitySpriteX(int i){ public float getEntitySpriteX(int i){
return entitySprites[i].getX(); return entitySprites[i].getX();
@ -178,6 +170,15 @@ public class View {
public float getEntitySpriteY(int i){ public float getEntitySpriteY(int i){
return entitySprites[i].getY(); return entitySprites[i].getY();
} }
//SETTER
public void setPlayerSpriteX(float x){
player.setX(x);
}
public void setPlayerSpriteY(float y){
player.setY(y);
}
public void setEntitySpriteX(int i,float x){ public void setEntitySpriteX(int i,float x){
entitySprites[i].setX(x); entitySprites[i].setX(x);
} }

Loading…
Cancel
Save