Package model.entities
Class EntityModel
java.lang.Object
model.entities.EntityModel
- All Implemented Interfaces:
Fallable
- Direct Known Subclasses:
EnemyModel
,PlayerModel
La classe astratta
EntityModel
rappresenta un'entità nel gioco che può
essere soggetta alla gravità e al movimento. Implementa l'interfaccia Fallable
per gestire il comportamento relativo alla caduta e salto.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected float
La velocità dell'entità mentre è in aria.protected float
Velocità di caduta dell'entità.protected float
La velocità di caduta quando l'entità collide con un ostacolo.protected float
La forza di gravità applicata all'entità.protected int
Larghezza e altezza dell'entità.protected Rectangle2D.Float
Rettangolo che rappresenta la hitbox dell'entità.protected boolean
Indica se l'entità è attualmente in aria.protected int
Larghezza e altezza dell'entità.protected float
Le coordinate X e Y dell'entità.protected float
Le coordinate X e Y dell'entità. -
Constructor Summary
ConstructorsConstructorDescriptionEntityModel
(float x, float y, int width, int height) Costruttore della classeEntityModel
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Controlla se l'entità è uscita dalla mappa.void
fallingChecks
(float xSpeed) Gestisce i controlli di caduta per l'entità.int
int
getWidth()
float
getX()
float
getY()
protected void
initHitbox
(int width, int height) Inizializza la hitbox dell'entità in base alle dimensioni specificate.boolean
isInAir()
void
Controlla se l'entità si trova in aria.void
Resetta lo stato dell'entità in aria, indicando che ha toccato il suolo.void
setFallingSpeed
(float fallingSpeed) abstract void
updateXPos
(float xSpeed) Aggiorna la posizione lungo l'asse X dell'entità in base alla velocità specificata.
-
Field Details
-
x
protected float xLe coordinate X e Y dell'entità. -
y
protected float yLe coordinate X e Y dell'entità. -
width
protected int widthLarghezza e altezza dell'entità. -
height
protected int heightLarghezza e altezza dell'entità. -
hitbox
Rettangolo che rappresenta la hitbox dell'entità. -
airSpeed
protected float airSpeedLa velocità dell'entità mentre è in aria. -
gravity
protected float gravityLa forza di gravità applicata all'entità. -
fallSpeedAfterCollision
protected float fallSpeedAfterCollisionLa velocità di caduta quando l'entità collide con un ostacolo. -
inAir
protected boolean inAirIndica se l'entità è attualmente in aria. -
fallingSpeed
protected float fallingSpeedVelocità di caduta dell'entità.
-
-
Constructor Details
-
EntityModel
public EntityModel(float x, float y, int width, int height) Costruttore della classeEntityModel
. Inizializza la posizione e le dimensioni dell'entità.- Parameters:
x
- La posizione X iniziale dell'entità.y
- La posizione Y iniziale dell'entità.width
- La larghezza dell'entità.height
- L'altezza dell'entità.
-
-
Method Details
-
initHitbox
protected void initHitbox(int width, int height) Inizializza la hitbox dell'entità in base alle dimensioni specificate.- Parameters:
width
- La larghezza della hitbox.height
- L'altezza della hitbox.
-
isInAirCheck
public void isInAirCheck()Controlla se l'entità si trova in aria. Se non è in aria, verifica se l'entità ha lasciato il pavimento e imposta lo stato in aria se necessario.- Specified by:
isInAirCheck
in interfaceFallable
-
fallingChecks
public void fallingChecks(float xSpeed) Gestisce i controlli di caduta per l'entità. Questo metodo determina come l'entità reagisce quando si trova in aria o quando collide con il pavimento o con un muro.- Specified by:
fallingChecks
in interfaceFallable
- Parameters:
xSpeed
- La velocità di movimento lungo l'asse X dell'entità.
-
checkOutOfMap
public void checkOutOfMap()Controlla se l'entità è uscita dalla mappa. Se l'entità cade fuori mappa, viene riposizionata nella parte superiore della mappa.- Specified by:
checkOutOfMap
in interfaceFallable
-
resetInAir
public void resetInAir()Resetta lo stato dell'entità in aria, indicando che ha toccato il suolo. La velocità dell'aria viene impostata a zero.- Specified by:
resetInAir
in interfaceFallable
-
updateXPos
public abstract void updateXPos(float xSpeed) Aggiorna la posizione lungo l'asse X dell'entità in base alla velocità specificata. Questo metodo è astratto e deve essere implementato nelle sottoclassi.- Specified by:
updateXPos
in interfaceFallable
- Parameters:
xSpeed
- La velocità di movimento lungo l'asse X.
-
getHitbox
-
getX
public float getX() -
getY
public float getY() -
getHeight
public int getHeight() -
getWidth
public int getWidth() -
getLevelManager
-
isInAir
public boolean isInAir() -
setFallingSpeed
public void setFallingSpeed(float fallingSpeed)
-