ultra animationen mit raytracing

master
Jonathan Hager 6 years ago
parent f543073f97
commit d0fdc415e2

@ -167,7 +167,11 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
if(Intersector.overlaps(tempObject.getCollisionSprite(), rectangle)){
overlaps = true;
delete = true;
if(d.getCurrentEntities()[i].getId() == 2){
delete = true;
}
break;
}
}
@ -215,13 +219,18 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
}
}
if(delete || d.getCurrentEntities()[i].getToDelete()){
if(delete || d.getCurrentEntities()[i].isToDelete()){
if(d.getCurrentEntities()[i].getId() == 2){
d.getCurrentEntities()[i] = null;
gs.deleteEntitySprite(i);
}
else{
if(gs.entitySprites[i].getDie() == 0){
gs.entitySprites[i].setDie(1);
}
else if(gs.entitySprites[i].getDie() == 2){
//d.getCurrentEntities()[i] = null;
}
}
}

@ -13,7 +13,7 @@ public abstract class Entity {
protected int id;
protected int direction;
protected Inventory inv;
protected boolean toDelete;
private boolean toDelete;
private double angle;
@ -147,7 +147,7 @@ public abstract class Entity {
}
public boolean getToDelete(){
return this.toDelete;
return this.isToDelete();
}
/**
@ -163,5 +163,19 @@ public abstract class Entity {
public void setAngle(double angle) {
this.angle = angle;
}
/**
* @return the toDelete
*/
public boolean isToDelete() {
return toDelete;
}
/**
* @param toDelete the toDelete to set
*/
public void setToDelete(boolean toDelete) {
this.toDelete = toDelete;
}
}

@ -23,7 +23,7 @@ public class Archer extends Entity{
@Override
public boolean move(int xPosPlayer, int yPosPlayer) {
if(!toDelete){
if(!isToDelete()){
float deltaX = xPosPlayer - (int) xPos;
float deltaY = yPosPlayer - (int) yPos;
@ -89,7 +89,7 @@ public class Archer extends Entity{
public Entity shoot(int xPosPlayer, int yPosPlayer){
Arrow a = null;
if(!toDelete){
if(!isToDelete()){
float deltaX = xPosPlayer - (int) xPos;
float deltaY = yPosPlayer - (int) yPos;

@ -39,7 +39,7 @@ public class Arrow extends Entity{
yPos += movementY;
if(this.lifetime > 50){
this.toDelete = true;
this.setToDelete(true);
}
return false;

@ -19,7 +19,7 @@ public class Swordsman extends Entity {
@Override
public boolean move(int xPosPlayer, int yPosPlayer){
if(!toDelete){
if(!isToDelete()){
float deltaX = xPosPlayer - (int) xPos;
float deltaY = yPosPlayer - (int) yPos;

@ -57,7 +57,7 @@ public class EntitySprite {
direction = e.getDirection();
if(die >= 1){
if(getDie() >= 1){
updateDie();
}
else if(attackState == 1){
@ -73,8 +73,11 @@ public class EntitySprite {
}
public void updateDie(){
if(frames[3] >= 9){
die = 2;
if(die == 2){
sprites[0].setRegion(regions[0][4][9]);
}
else if(frames[3] >= 9){
setDie(2);
}
else{
frames[3]++;
@ -249,4 +252,18 @@ public class EntitySprite {
public void startAttack(){
this.attackState = 1;
}
/**
* @return the die
*/
public int getDie() {
return die;
}
/**
* @param die the die to set
*/
public void setDie(int die) {
this.die = die;
}
}

@ -287,6 +287,10 @@ public class GameScreen {
if(e.getId() == 2){
entitySprites[i].getSprites()[0].setRotation((float) Math.toDegrees(e.getAngle()));
}
if(e.isToDelete()){
entitySprites[i].setDie(2);
}
}
}
@ -314,7 +318,7 @@ public class GameScreen {
if(Intersector.overlaps(entitySprites[i].getCollisionSprite(), attackSprite.getBoundingRectangle())){
if(e[i] != null){
if(e[i].getHp() - p.getDmg() <= 0){
e[i] = null;
e[i].setToDelete(true);
}
else{
e[i].setHp(e[i].getHp() - p.getDmg());
@ -334,7 +338,7 @@ public class GameScreen {
if(Intersector.overlaps(entitySprites[i].getCollisionSprite(), attackSprite.getBoundingRectangle())){
if(e[i] != null){
if(e[i].getHp() - p.getDmg() <= 0){
e[i] = null;
e[i].setToDelete(true);
}
else{
e[i].setHp(e[i].getHp() - p.getDmg());
@ -354,7 +358,7 @@ public class GameScreen {
if(Intersector.overlaps(entitySprites[i].getCollisionSprite(), attackSprite.getBoundingRectangle())){
if(e[i] != null){
if(e[i].getHp() - p.getDmg() <= 0){
e[i] = null;
e[i].setToDelete(true);
}
else{
e[i].setHp(e[i].getHp() - p.getDmg());
@ -374,7 +378,7 @@ public class GameScreen {
if(Intersector.overlaps(entitySprites[i].getCollisionSprite(), attackSprite.getBoundingRectangle())){
if(e[i] != null){
if(e[i].getHp() - p.getDmg() <= 0){
e[i] = null;
e[i].setToDelete(true);
}
else{
e[i].setHp(e[i].getHp() - p.getDmg());

Loading…
Cancel
Save