notJustCode.it
 
\\ Home : Articoli
Testo
Di robydx (del 18/01/2007 @ 23:30:37, in DirectX9, linkato 619 volte)

Una cosa molto utile (forse fondamentale) è il testo.  In Direct3D il testo viene utilizzato creando un oggetto Font (da non confondere con Font di VB). Il processo è molto semplice, quasi banale.
Dichiarate un oggetto font

Public testo As Font

e settarlo con

testo=Font(device, f)

dove f è un oggetto Drawing.Font creabile in moltissimi modi.

Dim f As Drawing.Font
f = New Drawing.Font("arial", 12)

Per facilitare la cosa ho come al solito creato una funzione che semplifica le cose

Function creaFont(ByVal f As Drawing.Font) As Font
Return New Font(device, f)
End Function

da usare così

testo = creaFont(New Drawing.Font("Arial", 12))

Dato che per creare un Font di VB esistono moltissimi modi potete impostare il testo come volete (sottolineature, grassetto, corsivo ecc..). Per maggiori delucidazioni leggetevi la guida di VB.Net (sono cose che dovreste sapere già). Potete creare quanti font volete, senza alcun limite.
Per scrivere è molto semplice

r = New Rectangle(0, 100, 800, 600)
testo.DrawText("Questa è la scritta", r, DrawTextFormat.Left, Color.White)

L'oggetto r è un rettangolo, potete crearlo e impostarlo dove volete o anche inserirlo all'interno della funzione. Il rettangolo contiene la zona dove il testo sarà visualizzato. La stringa verrà scritta sullo schermo in base al colore (in fondo) e alla formattazione. La formattazione è molto importante dato che con il testo potete fare veramente di tutto. Il testo viene sempre visualizzato sopra lo schermo e per non essere coperto da poligoni conviene farlo per l'ultimo. L'istruzione va tra begin scene ed end scene.
Ecco alcune delle opzioni (collegabili con gli OR se non contraddittorie)
WordBreak: se il testo è troppo lungo per la larghezza del rettangolo và a capo
VerticalCenter: centra verticalmente il testo
SingleLine: qualsiasi cosa accada non và accapo
RightToLeftReading: al contrario
Center: centra orizzontalmente
Top: allinea in alto
Right: allinea a destra
Left: allinea a sinistra
Bottom: allinea in basso
C'è ne sono altre, scopritele voi.

Nel ciclo (sempre tra beginScene e EndScene) e all'interno scrivere.
Ecco l'esempio (questo tutorial è molto semplice).

Esempio VB

Esempio CS

Articolo Articolo Commenti Commenti (0) Storico Storico Stampa Stampa
"I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. Insieme sono una potenza che supera l'immaginazione."

Albert Einstein


Cerca per parola chiave
 

Titolo
Articoli (3)
C++ (4)
DirectX10 (30)
DirectX11 (19)
DirectX9 (80)
DotNet (10)
English (9)
FanGames (19)
ManagedDX11 (1)
Materiale Utile (4)
News (31)
Shader Library (12)
Software (25)
Tecnologia (19)
Varie (9)

Gli interventi più cliccati

Ultimi commenti:
E' un incentivo a no...
31/07/2010 @ 10:51:10
Di RobyDx
questa è la foto più...
30/07/2010 @ 23:39:22
Di Alessandro
More forward is expl...
21/07/2010 @ 08:13:48
Di RobyDX
Hi Roby,Can you plea...
21/07/2010 @ 08:02:26
Di Him
You must create your...
20/07/2010 @ 11:04:44
Di RobyDX
Hi, I am writing reg...
20/07/2010 @ 10:52:37
Di Him

Titolo
Con quale tecnologia state realizzando o avete intenzione di realizzare i vostri progetti?

 DirectX11
 DirectX10
 DirectX9
 XNA
 DirectX8 o Precedenti
 OpenGL
 Motori grafici già pronti
 Altro

Titolo
Umorismo (17)

Le fotografie più cliccate



Ci sono 20 persone collegate
Sono state visualizzate  pagine

10/09/2010 @ 11.44.54
script eseguito in 47 ms