Skip to content

Kiểu giá trị ​

vec3 ​

Véc-tơ 3D: một vị trí, kích thước, hướng, vận tốc. Đơn vị là unit của KHIM (nhân vật cao khoảng 5).

lua
local v = vec3(1, 2, 3)
print(v.x, v.y, v.z)
print(v.magnitude)          -- độ dài
print(v.unit)               -- cùng hướng, độ dài 1
local sum = v + vec3(0, 1, 0)
local twice = v * 2
local dot = v:dot(vec3(1, 0, 0))
local cross = v:cross(vec3(0, 1, 0))
local halfway = v:lerp(vec3(10, 0, 0), 0.5)
local distance = (a.position - b.position).magnitude
vec3(x, y, z)Số thiếu là 0
vec3.zero, vec3.one, vec3.up(0,0,0), (1,1,1), (0,1,0)
x, y, z, magnitude, unitChỉ đọc
dot(other), cross(other), lerp(goal, alpha)
+, -, *, /, dấu - đứng trướcVới một vec3 khác, hoặc một số cho * và /

vec2 ​

Tương tự ở 2D, cho anchor của UI, điểm trên màn hình và lặp texture: vec2(x, y), vec2.zero, vec2.one, x, y, magnitude, unit, + - * /.

Màu ​

lua
local red = rgb(255, 0, 0)        -- 0 tới 255
local orange = rgb("#ffaa00")     -- mã hex
local blue = hsv(0.6, 0.8, 1)     -- sắc độ, độ bão hoà, độ sáng, 0 tới 1
print(red.r, red.g, red.b)        -- 0 tới 1
local pink = red:lerp(rgb(255, 255, 255), 0.5)

transform ​

Một vị trí và một góc xoay - thứ gì đó ở đâu và quay về hướng nào.

lua
local t = transform(0, 10, 0)                              -- tại (0, 10, 0), không xoay
local u = transform(vec3(0, 10, 0))
local look = transform.lookAt(vec3(0, 5, 10), vec3(0, 0, 0))   -- ở điểm đầu, nhìn về điểm sau
local turned = transform.angles(0, math.rad(90), 0)        -- xoay một phần tư vòng quanh Y (radian)
local both = t * turned                                    -- dời, rồi xoay

print(look.position, look.forward, look.right, look.up)
transform.identityỞ gốc toạ độ, không xoay
position, forward, right, upCác vec3
inverse()Phép biến đổi ngược lại
lerp(goal, alpha)Ở giữa hai cái, mượt mà
toWorld(other), toLocal(other)Đổi một transform khác từ không gian của cái này sang của world, và ngược lại
pointToWorld(point), pointToLocal(point)Tương tự cho một điểm
t * otherLần lượt từng cái; t * vec3 là một điểm được dời bởi t
t + vec3, t - vec3Dời, không xoay

transform của part là vị trí và góc xoay của nó: part.transform = transform.lookAt(part.position, target.position) quay nó về phía mục tiêu.

dim ​

Vị trí hay kích thước UI: một scale (tỉ lệ so với cha) và một offset (điểm UI), cho X và Y.

lua
dim(0.5, 0, 0, 40)   -- rộng nửa cha, cao 40 điểm
dim.scale(1, 0.5)    -- rộng bằng cha, cao nửa cha
dim.px(200, 50)      -- 200 x 50 điểm
local d = dim(0.5, 10, 0, 0)
print(d.x.scale, d.x.offset, d.y.scale, d.y.offset)

Event và connection ​

Event là một việc xảy ra; connect một hàm vào nó:

event:connect(fn)fn mỗi lần; trả về một connection
event:once(fn)fn chỉ lần đầu
event:wait()Chờ lần tới và trả về giá trị đi kèm
connection:disconnect()Thôi
connection.connectedCòn nối hay không

Tuỳ chọn tween ​

object:tween(goals, time) hoặc object:tween(goals, options):

Tuỳ chọn
timeSố giây
style"Linear", "Sine", "Quad", "Cubic", "Quart", "Back", "Bounce", "Elastic"
direction"In", "Out", "InOut"
repeatsLặp thêm bao nhiêu lần; -1 là mãi mãi
reversesMỗi lần đi rồi lại về
delaySố giây trước khi bắt đầu

Nó trả về một tween có completed (một event) và cancel().

Kết quả raycast ​

world:raycast(origin, direction) trả nil hoặc một bảng: part, position, normal, distance.

Chuỗi cho các lựa chọn ​

Thuộc tínhGiá trị
part.shape"Block", "Ball", "Cylinder", "Wedge"
part.material"Plastic", "Smooth", "Neon", "Glass", "Metal", "Wood", "Grass", "Brick", "Concrete", "Sand", "Rock", "Water", "Leaves", "Marble", "Granite", "Slate", "Cobblestone", "Pebble", "WoodPlanks", "DiamondPlate", "CorrodedMetal", "Foil", "Fabric", "Ice", "Snow", "Sandstone", "Mud", "Ground", "Asphalt", "CrackedLava", "CeramicTiles", "Pavement", "RoofShingles", "ForceField"
Một mặt"Front" (-Z), "Back", "Left", "Right", "Top", "Bottom"
label.textAlign"Left", "Center", "Right"
label.font"Default", "Bold", "Display"
camera.mode"Follow", "Fixed", "FirstPerson"
body.state"Idle", "Walking", "Jumping", "Falling", "Climbing", "Sitting", "Dead"
Phím"A"-"Z", "Zero"-"Nine", "Space", "Return", "Tab", "Backspace", "Escape", "LeftShift", "RightShift", "LeftControl", "RightControl", "LeftAlt", "RightAlt", "Up", "Down", "Left", "Right"

net và data chở được gì ​

netdata
nil, boolean, số, chuỗiCóCó
vec3, vec2, màu, transformCóCó
Part và người chơiCóKhông
Bảng chứa những thứ trênCóCó
Kích thước16 KB16 KB