Beta1
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
import greenfoot.*;
|
||||
|
||||
public class Projectile extends Actor
|
||||
{
|
||||
Player1 owner;
|
||||
Player2 enemy;
|
||||
int direction;
|
||||
|
||||
int speed = 10;
|
||||
int damage = 10;
|
||||
|
||||
int lifetime = 100;
|
||||
|
||||
|
||||
int currentFrame = 0;
|
||||
int animationTimer = 0;
|
||||
boolean isInWorld = true;
|
||||
boolean hit = false;
|
||||
public Projectile(int direction, Player1 pOwner, Player2 pEnemy)
|
||||
{
|
||||
this.direction = direction;
|
||||
this.owner = pOwner;
|
||||
enemy = pEnemy;
|
||||
|
||||
//Bilder für Schüsse nach links spiegeln
|
||||
if (direction == -1) {
|
||||
getImage().mirrorHorizontally();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public void act()
|
||||
{
|
||||
moveProjectile();
|
||||
//animate();
|
||||
checkHit();
|
||||
|
||||
lifetime--;
|
||||
|
||||
}
|
||||
|
||||
private void moveProjectile()
|
||||
{
|
||||
setLocation(getX() + speed * direction, getY());
|
||||
}
|
||||
|
||||
private void checkHit()
|
||||
{
|
||||
if (getX() - enemy.getX() < 70 && getX() - enemy.getX() > -70 && getY() - enemy.getY() < 30 && getY() - enemy.getY() > -30 && isInWorld){
|
||||
hit = true;
|
||||
removeProjectile();
|
||||
}
|
||||
else if(lifetime <= 0 || isAtEdge()){
|
||||
removeProjectile();
|
||||
}
|
||||
}
|
||||
|
||||
private void removeProjectile()
|
||||
{
|
||||
if (getWorld() != null) {
|
||||
isInWorld = false;
|
||||
getWorld().removeObject(this);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user