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 intDirezione della bolla.protected floatVelocità della bolla.protected floatVelocità della bolla dopo il tiro.protected intTipo di bolla.protected booleanIndica se c'è una collisione.protected charCarattere di estensione della bolla.private booleanIndica se tutte le acque sono state generate.protected intDurata della vita della bolla.protected intTimer di vita della bolla.protected intDurata del percorso della bolla.protected intTick del percorso della bolla.protected RandomGeneratore casuale per la bolla.protected booleanIndica se la bolla è bloccata.protected booleanIndica se la bolla è scaduta.private ArrayList<WaterModel> Lista di modelli di acqua associati alla bolla.private floatCoordinata X quando la bolla esplode.private floatCoordinata 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 voidGestisce il movimento della bolla dopo essere stata sparata.protected voidControlla la direzione della bolla in base alla sua posizione.private voidControlla la direzione della bolla.private voidControlla il timer di vita della bolla.private intprotected intintcharprivate booleanhasWaterMovedFromStartPoint(Rectangle2D.Float lastWaterHitbox) Controlla se il "cubetto" d'acqua si è spostata dal punto di partenza.booleanisActive()private booleanControlla se la bolla è all'interno dell'intervallo orizzontale in cui fluttuare.booleanbooleanvoidsetActive(boolean active) voidsetBubbleSpeed(float bubbleSpeed) voidsetBubbleSpeedAfterShot(float bubbleSpeedAfterShot) voidsetTimeout(boolean timeOut) voidsetxWhenPopped(float xWhenPopped) voidsetyWhenPopped(float yWhenPopped) voidGenera una cascata di acqua quando la bolla d'acqua esplode.protected voidInizia a far fluttuare la bolla dopo che è entrata nell'area in cui può fluttuare.voidupdate()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. ImpostabubbleDirectiona 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:
updatein 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:
isActivein classCustomObjectModel
-
setActive
public void setActive(boolean active) - Overrides:
setActivein 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()
-