Di robydx (del 18/01/2007 @ 23:30:37, in DirectX9, linkato 2429 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).
"Ciò che veramente mi interessa è se Dio avesse potuto fare il mondo in una maniera differente, cioè se la necessità di semplicità logica lasci qualche libertà."