Angle

Açı

Açıları değiştirmek için kullanılabilecek tüm fonksiyonların listesi.

Angle tarafından oluşturulur.

Tür İsim Açıklama
number p veya pitch veya x veya 1 Açının pitch (eğim) bileşeni.
number y veya yaw veya 2 Açının yaw (sapma) bileşeni.
number r veya roll veya z veya 3 Açının roll (yuvarlanma) bileşeni.
Metametot İkinci Operand Açıklama
__add Angle Toplama işleminin sonucuyla yeni bir Angle döndürür.
__div number Bölme işleminin sonucuyla yeni bir Angle döndürür.
__eq any 2 operandı karşılaştırır, eğer ikisi de Angle ise her bir bileşeni ayrı ayrı karşılaştırır.
Açıları normalleştirmez (360, 0'a eşit değildir).
__index number veya string Angle'ın bileşenini alır. Bir number döndürür.
__mul number Çarpma işleminin sonucuyla yeni bir Angle döndürür.
__newindex number veya string Angle'ın bileşenini ayarlar. number ve string kabul eder.
__sub Angle Çıkarma işleminin sonucuyla yeni bir Angle döndürür.
__tostring p y r döndürür.
__unm Negasyon (tersine çevirme) işleminin sonucuyla yeni bir Angle döndürür.

Metotlar

Angle:Add( Angle angle )
Argüman olarak verilen açının değerlerini orijinal açıya ekler. Bu işlem, yeni bir açı nesnesi oluşturmadan, nesne oluşturma ve çöp toplama (garbage collection) adımlarını atlayarak, angle1 + angle2 ile aynı işlevi görür.
Angle:Div( number scalar )
Orijinal açının tüm değerlerini bir skaler (sayı) ile böler. Bu işlem, yeni bir açı nesnesi oluşturmadan, nesne oluşturma ve çöp toplama (garbage collection) adımlarını atlayarak, angle1 / num ile aynı işlevi görür.
Vector Angle:Forward()
Açının gösterdiği yöne bakan bir normal vektör döndürür.
boolean Angle:IsEqualTol( Angle compare, number tolerance )
Açının, belirtilen tolerans dahilinde başka bir açıya eşit olup olmadığını döndürür.
boolean Angle:IsZero()
Pitch, yaw ve roll değerlerinin 0 olup olmadığını döndürür.
Angle:Mul( number scalar )
Orijinal açının tüm değerlerini bir skaler (sayı) ile çarpar. Bu işlem, yeni bir açı nesnesi oluşturmadan, nesne oluşturma ve çöp toplama (garbage collection) adımlarını atlayarak, num * angle ile aynı işlevi görür.
Angle:Normalize()
Pitch, yaw ve roll değerlerine 360 ile modül işlemi uygulayarak açıları normalleştirir.
Angle:Random( number min = -360, number max = 360 )
Bu Angle nesnesinin her bir elemanını rastgele bir değere ayarlar.
Vector Angle:Right()
Açının yönüne göre sağ tarafı gösteren bir normal vektör döndürür.
Angle:RotateAroundAxis( Vector axis, number rotation )
Açıyı, belirtilen eksen etrafında belirtilen derece kadar döndürür.
Angle:Set( Angle originalAngle )
Pitch, yaw ve roll değerlerini ikinci açıdan birinciye kopyalar.
Angle:SetUnpacked( number p, number y, number r )
Açının p, y ve r değerlerini ayarlar.
Angle Angle:SnapTo( string axis, number target )
Açıyı en yakın derece aralığına sabitler. Not: Bu işlem orijinal açıyı da değiştirecektir!
Angle:Sub( Angle angle )
Argüman olarak verilen açının değerlerini orijinal açıdan çıkarır. Bu işlem, yeni bir açı nesnesi oluşturmadan, nesne oluşturma ve çöp toplama (garbage collection) adımlarını atlayarak, angle1 - angle2 ile aynı işlevi görür.
table Angle:ToTable()
Açıyı üç elemanlı bir tablo olarak döndürür.
Açının pitch, yaw ve roll bileşenlerini döndürür.
Vector Angle:Up()
Açının yönüne göre yukarıyı gösteren bir normal vektör döndürür.
Angle:Zero()
Pitch, yaw ve roll değerlerini 0'a ayarlar. Bu fonksiyon, bu işlemi manuel olarak yapmaktan daha hızlıdır.




Örnek: Kısaltılmış Açısal Dizin

Açısal tek karakterli bileşenle dizinleme.

local a = Angle( 1, 2, 3 ) print( a.p, a.y, a.r )
Output: 1 2 3


Örnek: İsimlendirilmiş Açısal Dizin

Açısal isimlendirilmiş bileşenle dizinleme.

local a = Angle( 1, 2, 3 ) print( a.pitch, a.yaw, a.roll )
Output: 1 2 3


Örnek: Vektör Dizini

Vektör tek karakterli bileşenle dizinleme.

local a = Angle( 1, 2, 3 ) print( a.x, a.y, a.z )
Output: 1 2 3


Örnek: Sayısal Dizin

Sayı ile dizinleme (en verimlisi!).

local a = Angle( 1, 2, 3 ) print( a[1], a[2], a[3] )
Output: 1 2 3

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