Files
SMIMS_2026_1/fighter/Projectile.java
T
2026-09-17 20:00:38 +02:00

67 lines
1.3 KiB
Java

import greenfoot.*;
public class Projectile extends Actor
{
Player1 owner;
Player2 enemy;
int direction;
int speed = 8;
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);
}
}
}