import greenfoot.*; public class Projectile2 extends Actor { Player2 owner; Player1 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 Projectile2(int direction, Player2 pOwner, Player1 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); } } }