|
Before Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 151 B After Width: | Height: | Size: 1002 B |
|
After Width: | Height: | Size: 998 B |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 67 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 763 B |
@ -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||