SOFTWARE > Linguaggi di programmazione e scripting

[Hollywood] Semplice effetto Blur

(1/2) > >>

Allanon:
Pubblico un programmino semplice con l'implementazione di un effetto Blur anch'esso basilare, giusto per dare l'idea o qualche spunto... l'applicazione mostra anche lo scaling engine interno di Hollywood, secondo me abbastanza potente :)


--- Codice: ---; SIMPLE BLUR FX
; ------------------------------------------------------------------------------
; Inizializza la finestra
@DISPLAY { Width=320, Height=200,
           Color=#BLACK,
           Sizeable=True,
           ScaleMode=#SCALEMODE_AUTO, SmoothScale=TRUE, KeepProportions = True }
           
Function setup()
   SetFontColor($00FFFF00)
   SetFillStyle(#FILLCOLOR)
EndFunction

Function render()
   Box(0, 0, 320, 200, $F0000000)
   TextOut(Rnd(320), Rnd(200), "Hello!")
EndFunction


; setup
setup()

; Installa una chiamata alla routine di rendering ogni 50ms
SetInterval(Nil, render, 50)

; Loop infinito
Repeat
   WaitEvent()
Forever

--- Termina codice ---

Oltre alla semplice tecnica di blur si può vedere anche come sia possibile chiamare una routine a determinati intervalli di tempo, in questo caso la routine di rendering ogni 50 millisecondi.

Non commento il codice ulteriormente perchè mi sembra abbastanza semplice, però se ci sono domande non esitate

Allego un po' di eseguibili per rendere l'idea, per terminare l'applicazione premere CTRL-C, ALT-ENTER per attivare/disattivare il fullscreen, in modalità finestra questa può essere ridimensionata.

AROS, OS4, MorphOS, Windows, Linux, OS3.x

Z80Fan:
Molto carino, non capisco però cos'è che genera l'effetto fading che si nota nell'eseguibile.
E' stato aggiunto altro codice?

EDIT: Forse ho capito, è quella funzione "box" che sovrappone all'immagine un quadrato nero semitrasparente?

TheKaneB:
@Z80Fan: penso di si... invece di pulire la schermata completamente, gli applica uno strato nero con alpha al 94% (F0, cioè 240 su 255).

Allanon:
Esatto :)
Il trucco sta proprio li, è abbastanza dispendioso in termini di calcolo ma è anche una delle soluzioni più semplici da applicare, variando la trasparenza del box varia la velocità di fade delle scritte.

Z80Fan:

--- Citazione da: "Allanon" ---Esatto :)
Il trucco sta proprio li, è abbastanza dispendioso in termini di calcolo ma è anche una delle soluzioni più semplici da applicare, variando la trasparenza del box varia la velocità di fade delle scritte.
--- Termina citazione ---
Si è veramente semplice, ed anche furba come soluzione!
E penso che non sia poi così dispendiosa, bisognerebbe vedere la difficoltà nel farlo nel modo "giusto".

Navigazione

[0] Indice dei post

[#] Pagina successiva

Vai alla versione completa