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 intIl tick utilizzato per calcolare quando si arriva alla durata dell'animazione del nemico colpitoprivate intIndica la durata dell'animazione del nemico colpitoprivate intFields 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 oggettoSuperDrunkViewassociato al modelloSuperDrunkModel. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidControlla se l'animazione di colpo è terminata, e reimposta lo stato "colpito" del nemico se necessario.voidflipW()Imposta il flip per l'animazione in base alla direzione di camminata del nemico : se è negativo lo disegna specchiato.voidflipX()Utilizzati per specchiare il nemico se necessarioprivate voidRecupera i modelli delle bottiglie lanciate dal nemico e li converte in viste.voidRenderizza l'immagine del nemico sul grafico specificato.private voidReimposta i tick dell'animazione quando lo stato dello sprite cambia.voidImposta l'indice dello sprite in base allo stato del nemico (normale, colpito, in una bolla o morto).voidupdate()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 voidAggiorna e disegna le bottiglie lanciate dal nemico sullo schermo.protected voidAggiorna 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 oggettoSuperDrunkViewassociato 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:
updatein classEnemyView<SuperDrunkModel>
-
flipX
public void flipX()Utilizzati per specchiare il nemico se necessario- Overrides:
flipXin classEnemyView<SuperDrunkModel>
-
flipW
public void flipW()Description copied from class:EnemyViewImposta il flip per l'animazione in base alla direzione di camminata del nemico : se è negativo lo disegna specchiato.- Overrides:
flipWin 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:EnemyViewRenderizza l'immagine del nemico sul grafico specificato.- Overrides:
renderin classEnemyView<SuperDrunkModel>- Parameters:
g- L'oggettoGraphicssu cui disegnare il nemico.
-
updateAnimationTick
protected void updateAnimationTick()Description copied from class:EnemyViewAggiorna il tick dell'animazione. Gestisce la logica per cambiare il frame dell'animazione.- Overrides:
updateAnimationTickin 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.
-