52 lines
1.3 KiB
Java
52 lines
1.3 KiB
Java
package platform.game.actor;
|
|
|
|
import platform.util.Box;
|
|
import platform.util.Input;
|
|
import platform.util.Output;
|
|
import platform.util.Vector;
|
|
|
|
public class PlayerDead extends Actor{
|
|
private Vector position;
|
|
private Vector spiritPosition;
|
|
private double fat;
|
|
private double cooldown = 2;
|
|
|
|
public PlayerDead(Vector position, double fat){
|
|
this.setPriority(42);
|
|
this.position = position;
|
|
this.spiritPosition = position;
|
|
this.fat = fat;
|
|
}
|
|
|
|
public void update(Input input){
|
|
double delta = input.getDeltaTime();
|
|
cooldown-=delta;
|
|
|
|
spiritPosition = spiritPosition.add(new Vector(2.0*Math.cos(cooldown*8.0),4.0).mul(delta));
|
|
if(cooldown<=0.0)
|
|
getWorld().nextLevel();
|
|
}
|
|
|
|
public void draw(Input input, Output output){
|
|
output.drawSprite(getSprite("creature/wing_left"), getSBox().add(new Vector(-0.5,0.2)),0,0.8);
|
|
output.drawSprite(getSprite("creature/wing_right"), getSBox().add(new Vector(0.5,0.2)),0,0.8);
|
|
output.drawSprite(getSprite("creature/player/dead"), getSBox(),0,0.7);
|
|
output.drawSprite(getSprite("creature/player/dead"), getBox());
|
|
}
|
|
|
|
@Override
|
|
public Box getBox() {
|
|
return new Box(position, fat, fat);
|
|
}
|
|
|
|
public Box getSBox() {
|
|
return new Box(spiritPosition, fat, fat);
|
|
}
|
|
|
|
@Override
|
|
public boolean hurt(Actor instigator, Damage type, double amount, Vector location) {
|
|
return false;
|
|
|
|
}
|
|
}
|