notJustCode.it
 
\\ Home : Articoli
Testo
Di robydx (del 18/01/2007 @ 23:30:37, in DirectX9, linkato 2344 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  Storico Storico Stampa Stampa
I commenti sono disabilitati.
"L'abbiamo appena finito, ma possiamo farlo meglio! "

Shigeru Miyamoto


Cerca per parola chiave
 

Titolo
Articoli (4)
C++ (4)
Direct3D10 (30)
Direct3D11 (20)
DirectX9 (82)
DotNet (10)
English (9)
FanGames (22)
ManagedDX11 (2)
Materiale Utile (4)
News (39)
Shader Library (12)
SharpDX (1)
Software (25)
Tecnologia (19)
Varie (9)

Gli interventi più cliccati

Ultimi commenti:
If you wish to retai...
23/05/2013 @ 13:07:45
Di chanel outlet
You deficit of self-...
23/05/2013 @ 13:07:13
Di cartier watches uk
Reinforce your own l...
23/05/2013 @ 13:06:37
Di replica watches
Whenever you"re shiv...
23/05/2013 @ 13:06:11
Di swiss replica watches
It's likely you have...
23/05/2013 @ 13:05:02
Di chanel handbags
Cheap automobile ins...
23/05/2013 @ 13:04:28
Di replica watches

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 124 persone collegate
Sono state visualizzate  pagine

02/02/2023 @ 19:26:25
script eseguito in 44 ms