HSVToColor

  Color HSVToColor( number hue, number saturation, number value )

Açıklama

Bir renk dönüştürür HSV renk alanı RGB renk alanına ve bir döndürüyor Renk.

Argümanlar

1. numara Renkli
Renk 0-360 derece.
2. numara Doymuşluk
Doymuşluk 0-1'den.
3. numara Değer
Değer 0-1 arası.

Geri dönüşler

1. Renk
Renk HSV renk alanından yaratılmış.

Örnek

Bir yardımcı function for gökkuşağı metnini çiziyor.

local function DrawRainbowText( frequency, str, font, x, y ) surface.SetFont( font ) surface.SetTextPos( x, y ) for i = 1, #str do local col = HSVToColor( i * frequency % 360, 1, 1 ) -- surface. SetTextColor yerine 3 sayı sağlamak surface.SetTextColor( col.r, col.g, col.b ) -- tek bir renk daha hızlı. surface.DrawText( string.sub( str, i, i ) ) end end - Sert renkli gökkuşağı, yukarıdaki örneğe göre daha hızlı local function DrawSimpleRainbowText( speed, str, font, x, y ) surface.SetFont( font ) surface.SetTextColor( HSVToColor( ( CurTime() * speed ) % 360, 1, 1 ) ) surface.SetTextPos( x, y ) surface.DrawText( str ) end hook.Add( "HUDPaint", "RainbowPuke", function() DrawRainbowText( 10, "Hello world! This is rainbow text.", "CloseCaption_Bold", 5, 5 ) DrawSimpleRainbowText( 100, "Hello world! This is rainbow text.", "CloseCaption_Bold", 5, 55 ) end )
Çıkış:

Örnek

Bir yardımcı function for sohbette gökkuşağı metnini yazdırıyor.

local function PrintRainbowText( frequency, str ) local text = {} local len = #text for i = 1, #str do text[len + 1] = HSVToColor( i * frequency % 360, 1, 1 ) text[len + 2] = string.sub( str, i, i ) len = len + 2 end -- Chat için yazdırmak, konsol için de baskı yapmak chat.AddText( unpack( text ) ) -- Sadece konsolda yazdırmak için yorum bırak, sunucu tarafında da çalışıyor. -- MsgC( paket aç (( metin)) ) end - Sayı ne kadar yüksekse, renk her karakter arasında o kadar hızlı değişir. PrintRainbowText( 10, "Hello world!" )
Çıkış:

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