Simplifiziert - Start button kinda works

You can spawn Archers and Swordsman now
master
GammelJan 6 years ago
parent 54b7703bc6
commit b2425c297f

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 B

After

Width:  |  Height:  |  Size: 1002 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 998 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 763 B

@ -10,103 +10,78 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.dungeoncrawler.view.View;
import com.dungeoncrawler.view.*;
import com.dungeoncrawler.model.Dungeon;
import com.dungeoncrawler.model.DungeonGenerator;
import com.dungeoncrawler.model.entities.Player;
import com.dungeoncrawler.model.entities.Archer;
import com.dungeoncrawler.model.entities.*;
import com.dungeoncrawler.model.Entity;
import com.badlogic.gdx.utils.Timer;
public class Controller extends ApplicationAdapter implements InputProcessor{
SpriteBatch batch;
Dungeon d;
DungeonGenerator dg;
View v;
Player p;
Archer a;
Timer tAttack;
Timer coords;
MainMenu v;
Player p;
Entity[] e;
Timer t;
Map m;
@Override
public void create(){
batch = new SpriteBatch();
p = new Player(200f, 200f);
v = new MainMenu();
p = new Player();
d = new Dungeon(p);
v = new View();
p.setxPos(v.getPlayerX());
p.setyPos(v.getPlayerY());
dg = new DungeonGenerator();
dg.ichWillSpielen();
d = new Dungeon(p);
a = new Archer(500f, 200f, 1);
a.setxPos(v.getArcherX());
a.setyPos(v.getArcherY());
e = new Entity[5];
//TEST
Archer a = new Archer(0,0,0);
newEntity(a, 200, 500, 200);
Swordsman s = new Swordsman(0,0,0);
newEntity(s, 500, 200, 500);
//
Gdx.input.setInputProcessor(this);
tAttack = new Timer();
tAttack.scheduleTask(new Timer.Task() {
t = new Timer();
t.scheduleTask(new Timer.Task() {
@Override
public void run() {
if(p.getxPos() == a.getxPos()){
if(p.getyPos() > a.getyPos()){
a.attack(0); //UP
if(v.getArrowTravel() == 0){
v.arrow(a,0);
}
}
else if(p.getyPos() < a.getyPos()){
a.attack(2); //DOWN
if(v.getArrowTravel() == 0){
v.arrow(a,2);
}
}
}
if(p.getyPos() == a.getyPos()){
if(p.getxPos() > a.getxPos()){
a.attack(1); //RIGHT
if(v.getArrowTravel() == 0){
v.arrow(a,1);
}
}
else if(p.getxPos() < a.getxPos()){
a.attack(3); //LEFT
if(v.getArrowTravel() == 0){
v.arrow(a,3);
}
for(int i = 0; i< e.length; i++){
if(e[i] == null){}
else{
e[i].rdmMove();
}
}
else{
a.rdmMove();
}
}
},0,0.5f);
coords = new Timer();
coords.scheduleTask(new Timer.Task() {
@Override
public void run() {
System.out.println("Player:");
System.out.println("X:" + p.getxPos());
System.out.println("Y:" + p.getyPos());
System.out.println("Archer:");
System.out.println("X:" + a.getxPos());
System.out.println("Y:" + a.getyPos());
}
},0,2f);
},0,0.1f);
}
public void newEntity(Entity ent, int x, int y, int lvl){
for(int i = 0; i < e.length ; i++){
if(e[i] == null){
switch(ent.getId()){
case 0:
e[i] = new Archer(x,y,lvl);
v.newEntity(i,ent,x,y);
i = 10;
break;
case 1:
e[i] = new Swordsman(x,y,lvl);
v.newEntity(i,ent,x,y);
i = 10;
break;
}
}
}
}
@Override
public void render(){
v.setPlayerX(p.getxPos());
v.setPlayerY(p.getyPos());
v.setArcherX(a.getxPos());
v.setArcherY(a.getyPos());
v.render(batch, p , a);
if(v != null){
v.render(batch, p , e);
}
}
@Override
@ -117,26 +92,50 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
@Override
public boolean keyDown(int keycode) {
if(keycode == Input.Keys.LEFT){
p.setMovementX(-3);
p.move();
if(v != null){
v.moveCursor(3);
}
if(m != null){
p.setMovementX(-5);
}
}
if(keycode == Input.Keys.RIGHT){
p.setMovementX(3);
p.move();
}
if(keycode == Input.Keys.UP){
p.setMovementY(3);
p.move();
if(v != null){
v.moveCursor(1);
}
if(m != null){
p.setMovementX(5);
}
}
if(keycode == Input.Keys.DOWN){
p.setMovementY(-3);
p.move();
if(v != null){
v.moveCursor(2);
}
if(m != null){
p.setMovementY(-5);
}
}
if(keycode == Input.Keys.W){
if(keycode == Input.Keys.UP){
if(v != null){
v.moveCursor(0);
}
if(m != null){
p.setMovementY(5);
}
}
if(keycode == Input.Keys.ENTER){
if(v != null){
if(v.click() == -1){}
else if(v.click() == 0){
v = null;
m = new Map();
System.out.println("NICE");
}
}
}
return true;
}
@ -144,28 +143,40 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
@Override
public boolean keyUp(int keycode) {
if(keycode == Input.Keys.LEFT){
if(v != null){
v.stopCursor(3);
}
if(m != null){
p.setMovementX(0);
p.move();
v.tlinksstop();
}
}
if(keycode == Input.Keys.RIGHT){
if(v != null){
v.stopCursor(1);
}
if(m != null){
p.setMovementX(0);
p.move();
v.trechtsstop();
}
}
if(keycode == Input.Keys.DOWN){
if(v != null){
v.stopCursor(2);
}
if(m != null){
p.setMovementY(0);
p.move();
v.tuntenstop();
}
}
if(keycode == Input.Keys.UP){
if(v != null){
v.stopCursor(0);
}
if(m != null){
p.setMovementY(0);
p.move();
v.tobenstop();
}
}
}
return true;
}
@ -175,9 +186,11 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
}
@Override
public boolean touchDown(int i, int i1, int i2, int i3) {
return false;
}
public boolean touchDown(int screenX, int screenY, int pointer, int button)
{
return false;
}
@Override
public boolean touchUp(int i, int i1, int i2, int i3) {

@ -31,23 +31,73 @@ public class DungeonGenerator {
}
private Level generateLevel(){
int roomAmount = (int) (Math.random() * 6) + 5;
Level tempLevel = new Level(roomAmount);
for(int i = 0; i < roomAmount; i++){
Room tempRoom = generateRoom();
tempLevel.setRoom(tempRoom, i);
}
System.out.println(roomAmount);
// TODO: Zufällig Türen setzen
int xPos = roomAmount / 2;
int yPos = roomAmount / 2;
//int xPos = (int) (Math.random() * roomAmount);
//int yPos = (int) (Math.random() * roomAmount);
tempLevel.setRoom(generateRoom(), xPos, yPos);
for(int i = 1; i < roomAmount;){
// Zufallszahl für die Richtung wird generiert, Oben: 0, Rechts: 1, Unten: 2, Links: 3
int direction = (int) (Math.random() * 4);
switch (direction) {
// Oben
case 0:
if(yPos != 0){
yPos -= 1;
}
break;
// Rechts
case 1:
if(xPos != roomAmount - 1){
xPos += 1;
}
break;
// Unten
case 2:
if(yPos != roomAmount - 1){
yPos += 1;
}
break;
// Links
case 3:
if(xPos != 0){
xPos -= 1;
}
break;
default:
System.out.println("Die Random Methode ist kacke!!!!!!!!!!!!!!!!!!");
break;
}
// An der neuen Stelle vom Cursor gibt es noch keinen Raum
if(tempLevel.getRooms()[xPos][yPos] == null){
tempLevel.setRoom(generateRoom(), xPos, yPos);
// i darf nur erhöht werden, wenn auche in Raum generiert wurde
i++;
}
}
return tempLevel;
}
private Room generateRoom(){
int itemAmount = (int) (Math.random() * 2);
int enemyAmount = (int) (Math.random() * 6);
return null;
Room tempRoom = new Room(new ItemContainer[itemAmount], new Entity[enemyAmount]);
return tempRoom;
}
private int[] generatePos(int sizeX, int sizeY, int tileSize){
@ -61,16 +111,24 @@ public class DungeonGenerator {
}
public void ichWillSpielen(){
Dungeon d = this.generateDungeon(200, 200, 200, new Player(200,200));
Dungeon d = this.generateDungeon(200, 200, 200, new Player());
for(int i=0;i<d.getLevel().length;i++){
Level temp = d.getLevel()[i];
System.out.println("Level " + i);
for(int j=0;j<temp.getRooms().length;j++){
Room tempRoom = temp.getRooms()[j];
System.out.println(" Room " + j);
for(int j = 0; j < temp.getRooms().length; j++){
//System.out.print(knoten[i].gebeName() + " ");
for(int k = 0; k < temp.getRooms().length; k++){
if(temp.getRooms()[j][k] == null){
System.out.print("0 ");
}
else{
System.out.print("1 ");
}
}
System.out.println();
}
}
}
}

@ -3,26 +3,27 @@ package com.dungeoncrawler.model;
public abstract class Entity {
protected float xPos;
protected float yPos;
protected int xPos;
protected int yPos;
protected int hp;
protected int maxhp;
protected int dmg;
protected int lvl;
protected float movementX;
protected float movementY;
protected int movementX;
protected int movementY;
protected int id;
public Entity(float xPos, float yPos, int lvl){
public Entity(int xPos, int yPos, int lvl){
this.xPos = xPos;
this.yPos = yPos;
this.lvl = lvl;
this.movementX = 0f;
this.movementY = 0f;
this.movementX = 0;
this.movementY = 0;
}
public void attack(int i){
public void attack(){
}
public void update(){
@ -37,40 +38,41 @@ public abstract class Entity {
}
public void rdmMove(){
switch((int) (Math.random() * 5)){
case 0: //UP
setMovementY(32f);
move();
break;
case 1: //RIGHT
setMovementX(32f);
move();
break;
case 2: //DOWN
setMovementY(-32f);
move();
break;
case 3: //LEFT
setMovementX(-32f);
move();
break;
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 float getxPos() {
public int getxPos() {
return xPos;
}
public void setxPos(float xPos) {
public void setxPos(int xPos) {
this.xPos = xPos;
}
public float getyPos() {
public int getyPos() {
return yPos;
}
public void setyPos(float yPos) {
public void setyPos(int yPos) {
this.yPos = yPos;
}
@ -106,19 +108,23 @@ public abstract class Entity {
this.lvl = lvl;
}
public float getMovementX(){
public int getMovementX(){
return movementX;
}
public void setMovementX(float movementX){
public void setMovementX(int movementX){
this.movementX = movementX;
}
public float getMovementY(){
public int getMovementY(){
return movementY;
}
public void setMovementY(float movementY){
public void setMovementY(int movementY){
this.movementY = movementY;
}
public int getId(){
return this.id;
}
}

@ -10,31 +10,40 @@ package com.dungeoncrawler.model;
* @author jonathan
*/
public class Level {
private Room[] rooms;
private Room[][] rooms;
private int[] exit;
public Level(int amount){
this.rooms = new Room[amount];
this.rooms = new Room[amount][amount];
exit = new int[2];
}
/**
* @return the rooms
*/
public Room[] getRooms() {
public Room[][] getRooms() {
return rooms;
}
/**
* @param rooms the rooms to set
*/
public void setRooms(Room[] rooms) {
public void setRooms(Room[][] rooms) {
this.rooms = rooms;
}
public void setRoom(Room room, int i){
if(i < this.rooms.length){
this.rooms[i] = room;
public void setRoom(Room room, int x, int y){
if(x < this.rooms.length){
this.rooms[x][y] = room;
}
}
public int[] getExit(){
return exit;
}
public void setExit(int number, int i){
exit[i] = number;
}
}

@ -3,19 +3,15 @@ import com.dungeoncrawler.model.Entity;
public class Archer extends Entity{
public Archer(float xPos, float yPos, int lvl) {
public Archer(int xPos, int yPos, int lvl) {
super(xPos, yPos, lvl);
this.maxhp = 5*lvl;
this.hp = this.maxhp;
this.dmg = 3*lvl;
this.id = 0;
// TODO: Sinnvolle Werte finden
}
}

@ -13,15 +13,14 @@ import com.dungeoncrawler.model.Entity;
*/
public class Player extends Entity {
public Player(float xPos, float yPos) {
super(xPos, yPos, 0);
this.xPos = xPos;
this.yPos = yPos;
public Player() {
super(0, 0, 1);
this.maxhp = 5*lvl;
this.hp = this.maxhp;
this.dmg = 3*lvl;
id = -1;
// TODO: Sinnvolle Werte finden
}

@ -1,16 +1,6 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.dungeoncrawler.model.entities;
import com.dungeoncrawler.model.Entity;
/**
*
* @author Jan
*/
public class Swordsman extends Entity {
public Swordsman(int xPos, int yPos, int lvl) {
@ -20,10 +10,8 @@ public class Swordsman extends Entity {
this.hp = this.maxhp;
this.dmg = 3*lvl;
this.id = 1;
// TODO: Sinnvolle Werte finden
}
}

@ -0,0 +1,159 @@
package com.dungeoncrawler.view;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.math.Rectangle;
import com.dungeoncrawler.model.entities.*;
import com.dungeoncrawler.model.Entity;
public class MainMenu{
//MENU-SCREEN
Texture b;
Texture t;
Sprite button;
Sprite title;
//ENTITIES
Texture[] entityTextures;
Sprite[] entitySprites;
//CURSOR
Texture c;
Sprite cursor;
float CursorMoveX;
float CursorMoveY;
/*
//PLAYER
Texture p;
Sprite player;
TextureRegion[][] regions;
*/
public MainMenu() {
//MENU-SCREEN
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
float wc = w/2;
b = new Texture("Button.png");
t = new Texture("Title.png");
button = new Sprite(b);
title = new Sprite(t);
title.setX(wc - (title.getWidth()/2));
title.setY(h - 200);
button.setX(wc - (button.getWidth()/2));
button.setY(400);
//ENTITIES
entityTextures = new Texture[5];
entitySprites = new Sprite[5];
//CURSOR
c = new Texture("cursor.png");
cursor = new Sprite(c);
cursor.setX((float) w/2);
cursor.setY((float) h/2);
CursorMoveX = 0f;
CursorMoveY = 0f;
//PLAYER
/*
p = new Texture("player.png");
regions = TextureRegion.split(p, 64, 64);
player = new Sprite(regions[0][0]);
player.setX(200);
player.setY(200);
*/
}
public void render (SpriteBatch batch, Player p, Entity[] a) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
cursor.setX(cursor.getX()+ CursorMoveX);
cursor.setY(cursor.getY()+ CursorMoveY);
/*
player.setX(player.getX()+ (float) p.getMovementX());
player.setY(player.getY()+ (float) p.getMovementY());
if(p.getMovementX() == 5){
player.setRegion(regions[0][1]);
}
if(p.getMovementX() == -5){
player.setRegion(regions[0][3]);
}
if(p.getMovementY() == 5){
player.setRegion(regions[0][0]);
}
if(p.getMovementY() == -5){
player.setRegion(regions[0][2]);
}
*/
batch.begin();
title.draw(batch);
button.draw(batch);
cursor.draw(batch);
if(entitySprites[0] != null){
entitySprites[0].draw(batch);
}
if(entitySprites[1] != null){
entitySprites[1].draw(batch);
}
batch.end();
}
public void newEntity(int i,Entity e, int x, int y){
if(e.getId() == 0){
entityTextures[i] = new Texture("archer.png");
entitySprites[i] = new Sprite(entityTextures[i]);
entitySprites[i].setX(x);
entitySprites[i].setY(y);
}
else if(e.getId() == 1){
entityTextures[i] = new Texture("Swordsman.png");
entitySprites[i] = new Sprite(entityTextures[i]);
entitySprites[i].setX(x);
entitySprites[i].setY(y);
}
}
public void moveCursor(int direction){
switch(direction){
case 0:
CursorMoveY = 10f; break;
case 1:
CursorMoveX = 10f; break;
case 2:
CursorMoveY = -10f; break;
case 3:
CursorMoveX = -10f; break;
}
}
public void stopCursor(int direction){
switch(direction){
case 0:
CursorMoveY = 0f; break;
case 1:
CursorMoveX = 0f; break;
case 2:
CursorMoveY = 0f; break;
case 3:
CursorMoveX = 0f; break;
}
}
public int click(){
Rectangle rectangleCursor = cursor.getBoundingRectangle();
Rectangle rectangleButton = button.getBoundingRectangle();
boolean overlapsPlay = rectangleCursor.overlaps(rectangleButton);
if(overlapsPlay == true){
return 0;
}
else{return -1;}
}
}

@ -1,348 +0,0 @@
package com.dungeoncrawler.view;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.Sprite;
import com.badlogic.gdx.utils.Timer;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.dungeoncrawler.model.entities.*;
public class View {
Texture b;
Texture t;
Texture p;
Texture a;
Sprite button;
Sprite title;
Sprite player;
Sprite archer;
int PlayerFrame = 0;
int PlayerZeile = 0;
TextureRegion[][] regions;
Timer tunten;
Timer toben;
Timer tlinks;
Timer trechts;
Texture arrow;
Sprite Arrow;
Timer tArrowLeft = new Timer();
Timer tArrowRight = new Timer();
Timer tArrowUp = new Timer();
Timer tArrowDown = new Timer();
int ArrowTravel = 0;
int ArrowFrame = 0;
int ArrowZeile = 0;
TextureRegion[][] pfeil;
Texture animArrow;
Sprite Errow;
Timer pfeilAnim;
public View() {
b = new Texture("Button.png");
t = new Texture("Title.png");
p = new Texture("animplay.png");
a = new Texture("Archer-64.png");
animArrow= new Texture("HorizontalArrow.png");
button = new Sprite(b);
title = new Sprite(t);
archer = new Sprite(a);
archer.setX(500f);
archer.setY(200f);
arrow = new Texture("Archer.png");
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();
float wc = w/2;
title.setX(wc - (title.getWidth()/2));
title.setY(h - 200);
button.setX(wc - (button.getWidth()/2));
button.setY(400);
regions = TextureRegion.split(p, 32, 32);
player = new Sprite(regions[0][2]);
pfeil = TextureRegion.split(animArrow, 64, 16);
Errow = new Sprite(pfeil[0][0]);
player.setX(20f);
player.setY(205f);
tunten = new Timer();
toben = new Timer();
tlinks = new Timer();
trechts = new Timer();
pfeilAnim = new Timer();
Errow.setX(900);
Errow.setY(400);
pfeilAnim.scheduleTask(new Timer.Task() {
@Override
public void run() {
ArrowZeile = 0;
if(ArrowFrame == 3){
ArrowFrame = 0;
}
else{
ArrowFrame++;
}
Errow.setRegion(pfeil[ArrowZeile][ArrowFrame]);
Errow.setX(Errow.getX() - 1f);
}
},0,1/300f);
pfeilAnim.start();
tunten.scheduleTask(new Timer.Task() {
@Override
public void run() {
PlayerZeile = 2;
if(PlayerFrame == 9){
PlayerFrame = 0;
}
else{
PlayerFrame++;
}
player.setRegion(regions[PlayerZeile][PlayerFrame]);
}
},0,1/5f);
tunten.stop();
toben.scheduleTask(new Timer.Task() {
@Override
public void run() {
PlayerZeile = 2;
if(PlayerFrame == 9){
PlayerFrame = 0;
}
else{
PlayerFrame++;
}
player.setRegion(regions[PlayerZeile][PlayerFrame]);
}
}, 0,1/5f);
toben.stop();
tlinks.scheduleTask(new Timer.Task() {
@Override
public void run() {
PlayerZeile = 2;
if(player.isFlipX() == true){
}
else{
player.flip(true, false);
}
if(PlayerFrame == 9){
PlayerFrame = 0;
}
else{
PlayerFrame++;
}
player.setRegion(regions[PlayerZeile][PlayerFrame]);
}
}, 0,1/5f);
tlinks.stop();
trechts.scheduleTask(new Timer.Task() {
@Override
public void run() {
PlayerZeile = 2;
if(player.isFlipX() == true){
player.flip(false, false);
}
if(PlayerFrame == 9){
PlayerFrame = 0;
}
else{
PlayerFrame++;
}
player.setRegion(regions[PlayerZeile][PlayerFrame]);
}
}, 0,1/5f);
trechts.stop();
tArrowLeft.scheduleTask(new Timer.Task() {
@Override
public void run() {
Arrow.setX(Arrow.getX() - 3f);
ArrowTravel++;
if(ArrowTravel >= 100){
ArrowTravel = 0;
tArrowLeft.stop();
}
}
}, 0,1/50f);
tArrowLeft.stop();
tArrowRight.scheduleTask(new Timer.Task() {
@Override
public void run() {
Arrow.setX(Arrow.getX() + 3f);
ArrowTravel++;
if(ArrowTravel >= 100){
ArrowTravel = 0;
tArrowRight.stop();
}
}
}, 0,1/40f);
tArrowRight.stop();
tArrowUp.scheduleTask(new Timer.Task() {
@Override
public void run() {
Arrow.setY(Arrow.getY() + 3f);
ArrowTravel++;
if(ArrowTravel >= 100){
ArrowTravel = 0;
tArrowUp.stop();
}
}
}, 0,1/50f);
tArrowUp.stop();
tArrowDown.scheduleTask(new Timer.Task() {
@Override
public void run() {
Arrow.setY(Arrow.getY() - 3f);
ArrowTravel++;
if(ArrowTravel >= 100){
ArrowTravel = 0;
tArrowDown.stop();
}
}
}, 0,1/50f);
tArrowDown.stop();
}
public void render (SpriteBatch batch, Player p, Archer a) {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
player.setX(player.getX()+ p.getMovementX());
player.setY(player.getY()+ p.getMovementY());
archer.setX(a.getxPos());
archer.setY(a.getyPos());
if(p.getMovementX() == 3){
trechts.start();
if(player.isFlipX() == true){
player.flip(false, false);
}
}
if(p.getMovementX() == -3){
tlinks.start();
if(player.isFlipX() == true){
}
else{
player.flip(true, false);
}
}
if(p.getMovementY() == 3){
toben.start();
}
if(p.getMovementY() == -3){
tunten.start();
}
batch.begin();
title.draw(batch);
button.draw(batch);
player.draw(batch);
archer.draw(batch);
Errow.draw(batch);
if(ArrowTravel > 0 && ArrowTravel < 100){
Arrow.draw(batch);
}
batch.end();
}
public void arrow(Archer a, int i){
switch(i){
case 0: //UP
Arrow.setX(a.getxPos());
Arrow.setY(a.getyPos());
tArrowUp.start();
break;
case 1: //RIGHT
Arrow.setX(a.getxPos());
Arrow.setY(a.getyPos());
tArrowRight.start();
break;
case 2: //DOWN
for(int n = 0; n < 50; n++){
Arrow.setX(a.getxPos());
Arrow.setY(a.getyPos());
tArrowDown.start();
}
break;
case 3: //LEFT
Arrow.setX(a.getxPos());
Arrow.setY(a.getyPos());
tArrowLeft.start();
break;
}
}
public void tuntenstop(){
tunten.stop();
PlayerFrame = 0;
player.setRegion(regions[PlayerZeile][PlayerFrame]);}
public void tobenstop(){
toben.stop();
PlayerFrame = 0;
player.setRegion(regions[PlayerZeile][PlayerFrame]);}
public void tlinksstop(){
tlinks.stop();
PlayerFrame = 0;
player.setRegion(regions[PlayerZeile][PlayerFrame]);
player.flip(true, false);}
public void trechtsstop(){
trechts.stop();
PlayerFrame = 0;
player.setRegion(regions[PlayerZeile][PlayerFrame]);}
public int getArrowTravel(){
return ArrowTravel;
}
public float getPlayerX(){
return player.getX();
}
public float getPlayerY(){
return player.getY();
}
public float getArcherX(){
return archer.getX();
}
public float getArcherY(){
return archer.getY();
}
public void setPlayerX(float x){
player.setX(x);
}
public void setPlayerY(float y){
player.setY(y);
}
public void setArcherX(float x){
archer.setX(x);
}
public void setArcherY(float y){
archer.setY(y);
}
}
Loading…
Cancel
Save