Package model.objects.bobbles
Class BubbleModel
java.lang.Object
model.objects.CustomObjectModel
model.objects.bobbles.BubbleModel
- Direct Known Subclasses:
BobBubbleModel
Rappresenta un modello di bolla nel gioco.
Estende la classe
CustomObjectModel
.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected int
Direzione della bolla.protected float
Velocità della bolla.protected float
Velocità della bolla dopo il tiro.protected int
Tipo di bolla.protected boolean
Indica se c'è una collisione.protected char
Carattere di estensione della bolla.private boolean
Indica se tutte le acque sono state generate.protected int
Durata della vita della bolla.protected int
Timer di vita della bolla.protected int
Durata del percorso della bolla.protected int
Tick del percorso della bolla.protected Random
Generatore casuale per la bolla.protected boolean
Indica se la bolla è bloccata.protected boolean
Indica se la bolla è scaduta.private ArrayList
<WaterModel> Lista di modelli di acqua associati alla bolla.private float
Coordinata X quando la bolla esplode.private float
Coordinata Y quando la bolla esplode. -
Constructor Summary
ConstructorsConstructorDescriptionBubbleModel
(float x, float y, int width, int height, int bubbleType) Crea un'istanza di BubbleModel. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
Gestisce il movimento della bolla dopo essere stata sparata.protected void
Controlla la direzione della bolla in base alla sua posizione.private void
Controlla la direzione della bolla.private void
Controlla il timer di vita della bolla.private int
protected int
int
char
private boolean
hasWaterMovedFromStartPoint
(Rectangle2D.Float lastWaterHitbox) Controlla se il "cubetto" d'acqua si è spostata dal punto di partenza.boolean
isActive()
private boolean
Controlla se la bolla è all'interno dell'intervallo orizzontale in cui fluttuare.boolean
boolean
void
setActive
(boolean active) void
setBubbleSpeed
(float bubbleSpeed) void
setBubbleSpeedAfterShot
(float bubbleSpeedAfterShot) void
setTimeout
(boolean timeOut) void
setxWhenPopped
(float xWhenPopped) void
setyWhenPopped
(float yWhenPopped) void
Genera una cascata di acqua quando la bolla d'acqua esplode.protected void
Inizia a far fluttuare la bolla dopo che è entrata nell'area in cui può fluttuare.void
update()
Aggiorna lo stato della bolla.
-
Field Details
-
bubbleSpeed
protected float bubbleSpeedVelocità della bolla. -
lifeTimer
protected int lifeTimerTimer di vita della bolla. -
timeOut
protected boolean timeOutIndica se la bolla è scaduta. -
lifeTime
protected int lifeTimeDurata della vita della bolla. -
bubbleType
protected int bubbleTypeTipo di bolla. -
extendChar
protected char extendCharCarattere di estensione della bolla. -
bubbleSpeedAfterShot
protected float bubbleSpeedAfterShotVelocità della bolla dopo il tiro. -
pathDuration
protected int pathDurationDurata del percorso della bolla. -
pathTick
protected int pathTickTick del percorso della bolla. -
bubbleDirection
protected int bubbleDirectionDirezione della bolla. -
collision
protected boolean collisionIndica se c'è una collisione. -
stuck
protected boolean stuckIndica se la bolla è bloccata. -
random
Generatore casuale per la bolla. -
waterfall
Lista di modelli di acqua associati alla bolla. -
hasSpawnedAllWaters
private boolean hasSpawnedAllWatersIndica se tutte le acque sono state generate. -
yWhenPopped
private float yWhenPoppedCoordinata Y quando la bolla esplode. -
xWhenPopped
private float xWhenPoppedCoordinata X quando la bolla esplode.
-
-
Constructor Details
-
BubbleModel
public BubbleModel(float x, float y, int width, int height, int bubbleType) Crea un'istanza di BubbleModel.- Parameters:
x
- La coordinata X della bolla.y
- La coordinata Y della bolla.width
- La larghezza della bolla.height
- L'altezza della bolla.bubbleType
- Il tipo di bolla.
-
-
Method Details
-
checkDirection
private void checkDirection()Controlla la direzione della bolla. ImpostabubbleDirection
a destra o a sinistra a seconda della posizione della bolla. -
update
public void update()Aggiorna lo stato della bolla. Controlla il timer della vita e gestisce il movimento dopo lo sparo.- Specified by:
update
in classCustomObjectModel
-
spawnWaterFall
public void spawnWaterFall()Genera una cascata di acqua quando la bolla d'acqua esplode. -
hasWaterMovedFromStartPoint
Controlla se il "cubetto" d'acqua si è spostata dal punto di partenza.- Parameters:
lastWaterHitbox
- L'area di collisione dell'ultima acqua.- Returns:
- true se l'acqua si è spostata, false altrimenti.
-
afterShotMovement
protected void afterShotMovement()Gestisce il movimento della bolla dopo essere stata sparata. -
isBubbleInXRange
private boolean isBubbleInXRange()Controlla se la bolla è all'interno dell'intervallo orizzontale in cui fluttuare.- Returns:
- true se la bolla è nell'intervallo, false altrimenti.
-
checkBubbleDirection
protected void checkBubbleDirection()Controlla la direzione della bolla in base alla sua posizione. -
startFloating
protected void startFloating()Inizia a far fluttuare la bolla dopo che è entrata nell'area in cui può fluttuare. -
checkLifeTimer
private void checkLifeTimer()Controlla il timer di vita della bolla. Se la vita supera la durata massima, la bolla esplode. -
isActive
public boolean isActive()- Overrides:
isActive
in classCustomObjectModel
-
setActive
public void setActive(boolean active) - Overrides:
setActive
in classCustomObjectModel
-
isTimeOut
public boolean isTimeOut() -
getBubbleTileY
protected int getBubbleTileY() -
getBubbleTileX
private int getBubbleTileX() -
isCollision
public boolean isCollision() -
getBubbleType
public int getBubbleType() -
setTimeout
public void setTimeout(boolean timeOut) -
setBubbleSpeed
public void setBubbleSpeed(float bubbleSpeed) -
setBubbleSpeedAfterShot
public void setBubbleSpeedAfterShot(float bubbleSpeedAfterShot) -
getWaterfall
-
setyWhenPopped
public void setyWhenPopped(float yWhenPopped) -
setxWhenPopped
public void setxWhenPopped(float xWhenPopped) -
getExtendChar
public char getExtendChar()
-