surface.DrawPoly
Örnek
Ekranın sol üst köşesine kırmızı bir üçgen çizer.
local triangle = {
{ x = 100, y = 200 },
{ x = 150, y = 100 },
{ x = 200, y = 200 }
}
hook.Add("HUDPaint", "PolygonTest", function()
surface.SetDrawColor( 255, 0, 0, 255 )
draw.NoTexture()
surface.DrawPoly( triangle )
end )
Çıktı: 

Örnek
Ekranın sol üst köşesine sarı bir çokgen çizer.
local triangle = {
{ x = 100, y = 200 },
{ x = 150, y = 100 },
{ x = 200, y = 200 },
{ x = 150, y = 300 },
{ x = 100, y = 300 },
}
hook.Add("HUDPaint", "PolygonExample", function()
surface.SetDrawColor( 255, 255, 0, 255 )
draw.NoTexture()
surface.DrawPoly( triangle )
end )
Çıktı: 

Örnek
surface.DrawPoly kullanarak bir daire çizen yardımcı bir fonksiyon.
function draw.Circle( x, y, radius, seg )
local cir = {}
table.insert( cir, { x = x, y = y, u = 0.5, v = 0.5 } )
for i = 0, seg do
local a = math.rad( ( i / seg ) * -360 )
table.insert( cir, { x = x + math.sin( a ) * radius, y = y + math.cos( a ) * radius, u = math.sin( a ) / 2 + 0.5, v = math.cos( a ) / 2 + 0.5 } )
end
local a = math.rad( 0 ) -- Bu, mutlak olmayan segment sayıları için gereklidir
table.insert( cir, { x = x + math.sin( a ) * radius, y = y + math.cos( a ) * radius, u = math.sin( a ) / 2 + 0.5, v = math.cos( a ) / 2 + 0.5 } )
surface.DrawPoly( cir )
end
hook.Add("HUDPaint", "PolygonCircleTest", function()
surface.SetDrawColor( 0, 0, 0, 200)
draw.NoTexture()
draw.Circle( ScrW() / 2, ScrH() / 2, 200, math.sin( CurTime() ) * 20 + 25 )
--Kullanım:
--draw.Circle( x, y, yarıçap, segmentler )
end )
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord