Package view.entities.enemies
Class SuperDrunkView
La classe
SuperDrunkView
rappresenta la visualizzazione del nemico Super Drunk nel gioco.
Estende la classe generica EnemyView
per gestire il rendering, le animazioni specifiche
e i proiettili (bottiglie) lanciati dal nemico Super Drunk.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate BufferedImage[][]
private ArrayList
<DrunkBottleView> private int
Il tick utilizzato per calcolare quando si arriva alla durata dell'animazione del nemico colpitoprivate int
Indica la durata dell'animazione del nemico colpitoprivate int
Fields inherited from class view.entities.enemies.EnemyView
aniIndex, animations, aniSpeed, aniTick, COL_INDEX, enemy, exploding, flipW, flipX, ROW_INDEX, xDrawOffset, yDrawOffset
-
Constructor Summary
ConstructorsConstructorDescriptionSuperDrunkView
(SuperDrunkModel superDrunkModel) Costruisce un oggettoSuperDrunkView
associato al modelloSuperDrunkModel
. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Controlla se l'animazione di colpo è terminata, e reimposta lo stato "colpito" del nemico se necessario.void
flipW()
Imposta il flip per l'animazione in base alla direzione di camminata del nemico : se è negativo lo disegna specchiato.void
flipX()
Utilizzati per specchiare il nemico se necessarioprivate void
Recupera i modelli delle bottiglie lanciate dal nemico e li converte in viste.void
Renderizza l'immagine del nemico sul grafico specificato.private void
Reimposta i tick dell'animazione quando lo stato dello sprite cambia.void
Imposta l'indice dello sprite in base allo stato del nemico (normale, colpito, in una bolla o morto).void
update()
Il metodo si occupa di aggiornare la visualizzazzione del nemico, il frame dell'animazione corrente indice dello sprite da disegnare e di recuperare le bottiglieprivate void
Aggiorna e disegna le bottiglie lanciate dal nemico sullo schermo.protected void
Aggiorna il tick dell'animazione.Methods inherited from class view.entities.enemies.EnemyView
getEnemy, getSpriteAmount
-
Field Details
-
spriteIndex
private int spriteIndex -
hitTimer
private int hitTimerIndica la durata dell'animazione del nemico colpito -
hitTick
private int hitTickIl tick utilizzato per calcolare quando si arriva alla durata dell'animazione del nemico colpito -
drunkBottlesView
-
drunkBottleSprites
-
-
Constructor Details
-
SuperDrunkView
Costruisce un oggettoSuperDrunkView
associato al modelloSuperDrunkModel
. Inizializza le animazioni e dei proiettili lanciati dal nemico.- Parameters:
superDrunkModel
- Il modello del nemicoSuperDrunkModel
.
-
-
Method Details
-
getDrunkBottlesFromModel
private void getDrunkBottlesFromModel()Recupera i modelli delle bottiglie lanciate dal nemico e li converte in viste. -
setSpriteIndex
public void setSpriteIndex()Imposta l'indice dello sprite in base allo stato del nemico (normale, colpito, in una bolla o morto). -
update
public void update()Il metodo si occupa di aggiornare la visualizzazzione del nemico, il frame dell'animazione corrente indice dello sprite da disegnare e di recuperare le bottiglie- Overrides:
update
in classEnemyView<SuperDrunkModel>
-
flipX
public void flipX()Utilizzati per specchiare il nemico se necessario- Overrides:
flipX
in classEnemyView<SuperDrunkModel>
-
flipW
public void flipW()Description copied from class:EnemyView
Imposta il flip per l'animazione in base alla direzione di camminata del nemico : se è negativo lo disegna specchiato.- Overrides:
flipW
in classEnemyView<SuperDrunkModel>
-
updateAndDrawDrunkBottles
Aggiorna e disegna le bottiglie lanciate dal nemico sullo schermo.- Parameters:
g
- Il contesto per disegnare le bottiglie.
-
render
Description copied from class:EnemyView
Renderizza l'immagine del nemico sul grafico specificato.- Overrides:
render
in classEnemyView<SuperDrunkModel>
- Parameters:
g
- L'oggettoGraphics
su cui disegnare il nemico.
-
updateAnimationTick
protected void updateAnimationTick()Description copied from class:EnemyView
Aggiorna il tick dell'animazione. Gestisce la logica per cambiare il frame dell'animazione.- Overrides:
updateAnimationTick
in classEnemyView<SuperDrunkModel>
-
resetAniTick
private void resetAniTick()Reimposta i tick dell'animazione quando lo stato dello sprite cambia. -
checkHitAnimationOver
private void checkHitAnimationOver()Controlla se l'animazione di colpo è terminata, e reimposta lo stato "colpito" del nemico se necessario.
-