math.atan2
Örnek
atan( 1 ) ve atan2( 1, 1 )'nin ikisi de math.pi / 4 değerini verir.
atan2( -1, -1 ) ise ( (-3) * math.pi ) / 4 değerine eşittir.
Çıktı: 0.7853981633974483
0.7853981633974483
-2.356194490192345
Örnek
Ekranın ortasına, imlecin konumuna göre dönen bir ikon çizer. Not: Bunu bir panelin içinde çizmek istiyorsanız Panel:LocalCursorPos kullanmanız gerekebilir.
local icon = Material("icon16/emoticon_smile.png", "smooth")
local iconSize = 64
hook.Add("HUDPaint", "Atan2Example", function()
-- Açının hesaplanacağı göreceli nokta
-- Buranın bizim "sıfır" koordinatımız olduğunu varsayabiliriz
local centerX, centerY = ScrW()/2, ScrH()/2
-- Açısını arayacağımız nokta
local mouseX, mouseY = input.GetCursorPos()
-- Açıyı radyan cinsinden al
local angle = math.atan2(
centerY - mouseY,
mouseX - centerX
)
-- Dereceye çevir
local deg = math.deg(angle)
surface.SetDrawColor(255, 255, 255, 255)
surface.SetMaterial(icon)
surface.DrawTexturedRectRotated(centerX, centerY, iconSize, iconSize, deg)
-- Sadece hata ayıklama için
draw.SimpleText(deg, "DermaDefault", centerX, centerY + 40, color_white, TEXT_ALIGN_CENTER)
end)
Tüm sunucular · GmodTR Launcher · Rehber · GMod Wiki · GmodTR nedir? · Sunucu ekle · Discord