surface.DrawText

  surface.DrawText( string text, boolean forceAdditive = nil )

Açıklama

Daha önceden ayarlanmış konum, yazı tipi ve renk kullanılarak belirtilen metni ekrana çizer. Bu fonksiyon yeni satırları (newline) işlemez.

Bu fonksiyon, çizilen metnin uzunluğu kadar metin pozisyonunu kaydırır - bu davranış, metin pozisyonunu manuel olarak yeniden hesaplamaya gerek kalmadan metin özelliklerini (yazı tipi veya renk gibi) değiştirmek için kullanılabilir. Bu davranışın örnek kullanımı için 2. örneğe bakın.

Bu, 2 boyutlu bir çizim bağlamı gerektiren bir çizim fonksiyonudur.

Bu, yalnızca 2 Boyutlu Çizim Hook'larında çalışacağı anlamına gelir.

Argümanlar

1 string text
Çizdirilecek metin.
2 boolean forceAdditive = nil
true metni eklemeli (additive) olarak çizmeye zorlar, false eklemeli olmamaya zorlar, nil ise yazı tipinin değerini kullanır.

Eklemeli çizim etkinleştirildiğinde, çizilen metin pikselleri mevcut ekran piksellerinin üzerine yazılmak yerine onlara eklenir. Bu, siyah metnin görünmez olacağı ve saf beyaz bir arka plan üzerine çizim yapmanın imkansız olacağı anlamına gelir.

image.png

Örnek

Ekrana Hello World yazar. Bu örnekteki tüm fonksiyonların, çizimin her seferinde kusursuz çalışması için çağrılması gerekir.

hook.Add( "HUDPaint", "drawsometext", function() surface.SetFont( "Default" ) surface.SetTextColor( 255, 255, 255 ) surface.SetTextPos( 128, 128 ) surface.DrawText( "Hello World" ) end )

Örnek

Her karakter için surface.GetTextSize ve surface.SetTextPos kullanmadan gökkuşağı metni çizer (daha verimli).

local text = "~Rainbow~" hook.Add( "HUDPaint", "drawsometext", function() surface.SetFont( "DermaLarge" ) surface.SetTextPos( 400, 128 ) for char = 1, #text do local col = HSVToColor( ( ( RealTime() * 100 ) - char * 15 ) % 360, 1, 1 ) surface.SetTextColor( col.r, col.g, col.b ) -- Providing 3 numbers to surface.SetTextColor rather surface.DrawText( string.sub( text, char, char ) ) -- than a single color is faster end end )

Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord