PDA

View Full Version : DrawModifer e StateModifier...


Bonfo
19-05-2006, 19:01
Chiedo ufficialmente a Vic:
ci spieghi quale è la logica che ci sta dietro??

A prima vista DrawModifers ha nell'interfaccia che è già presente in Drawable.

Poi Pulsation implementa anche ended(), che però è dell'interfaccia StateModifers che Pulòsation non dichiara di implemetare.

Mi me lo spieghi.... :bimbo: :bimbo: :bimbo:

VICIUS
22-05-2006, 14:59
Dunque uno StateModifier modifica in maniera permanente lo stato dello Sprite. Avevo intenzione di usarlo per animazioni, effetti come slide in/out di Crushbox e qualsiasi altra cosa possa venirci in mente che possa avere side effects. Ce ne può essere più di uno per poter fare una specie di composizione (sprite animati che si spostano come crushbox).
Un DrawModifier non può modificare lo stato dello Sprite. Utile per quelle trasformazioni tipo la pulsazione delle gemme in cui modificare le coordinate farebbe esplodere tutta la griglia. Visto che rimpiazza la draw standard della Sprite ce ne può essere solo una.

ciao ;)

VICIUS
22-05-2006, 15:00
Poi Pulsation implementa anche ended(), che però è dell'interfaccia StateModifers che Pulòsation non dichiara di implemetare.
ended() c'è anche in DrawModifier

ciao ;)

Bonfo
22-05-2006, 15:28
ended() c'è anche in DrawModifier

ciao ;)

ooopppsss...hai ragione ;)
Grazie per la spiegazione.

Sono convinto che questa strada sarà da approfondire nelle prossime storie :D

Bonfo
28-05-2006, 17:59
Ecco. E' ginuto il momento di approfondire.

Stavo guardando come gestire l'effetto Birght seguendo queste linee.
Bhè...a parte che nessun metodo è stato testato ( :eek: :eek: ), poi ci sono alcune cose che sono un po' strane.

public StateModifier getStateModifier(int index)
{
return stateModifiers.get(index);
}

public void removeStateModifier(int index)
{
stateModifiers.remove(index);
}


Benissimo...ma sto index da dove lo tiro fuori !?!?!

Bonfo
28-05-2006, 18:00
Ulteriore cosa...praticamente il isBrighter() verrebbe sostituito dal BrighterModifier.ended() ??

VICIUS
29-05-2006, 12:38
Ecco. E' ginuto il momento di approfondire.

Stavo guardando come gestire l'effetto Birght seguendo queste linee.
Bhè...a parte che nessun metodo è stato testato ( :eek: :eek: ), poi ci sono alcune cose che sono un po' strane.

public StateModifier getStateModifier(int index)
{
return stateModifiers.get(index);
}

public void removeStateModifier(int index)
{
stateModifiers.remove(index);
}


Benissimo...ma sto index da dove lo tiro fuori !?!?!

Nei test sapevo precisamente quale era l'index quindi non mi ero posto il problema. Quando re-introduco la funzioni faccio in modo di usare i riferimenti per la remove.

ciao ;)

VICIUS
29-05-2006, 12:41
Ulteriore cosa...praticamente il isBrighter() verrebbe sostituito dal BrighterModifier.ended() ??
Uhm no quel metodo dice semplicemente quando un Modifier è terminato. In ogni caso scrivere un modifier solo per brigter mi sembra esagerato. Sono pensati per animazioni ed eye-candy un po' più complessi.

ciao ;)

fek
29-05-2006, 15:00
Uhm no quel metodo dice semplicemente quando un Modifier è terminato. In ogni caso scrivere un modifier solo per brigter mi sembra esagerato. Sono pensati per animazioni ed eye-candy un po' più complessi.

ciao ;)

Vic, il modifier e' nient'altro che un Adapter, giusto?

VICIUS
29-05-2006, 15:13
Vic, il modifier e' nient'altro che un Adapter, giusto?
Non ci avevo fatto caso pero ora che me lo fai notare assomiglio molto al dp Adapter.

ciao ;)