Sử dụng tham số và sự kiện

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Thông thường, các hàm chỉ có thể sử dụng thông tin mà chúng đã được mã hóa bên trong. Tuy nhiên, đôi khi bạn có thể không biết trước thông tin đó sẽ là gì, hoặc bạn muốn có thể tái sử dụng cùng một hàm với nhiều mảnh thông tin tương tự. Ví dụ, nếu bạn muốn sử dụng một hàm để hiển thị tên của người đã hoàn thành khóa học obby nhanh nhất bằng chữ cái lớn cho mọi người. Bạn sẽ không biết tên của người chiến thắng trong tương lai cho đến khi cuộc đua kết thúc.

Tham số là các vị trí giữ chỗ cho thông tin mà bạn muốn cung cấp cho hàm vào một thời điểm sau. Chúng giống như những cửa sổ cho phép bạn truyền thông tin vào hàm.

Sử dụng tham số và sự kiện để thiết lập một cái bẫy

Kịch bản này sẽ tạo ra một phần bẫy mà phá hủy bất cứ thứ gì chạm vào phần đó, bao gồm cả các phần khác. Bạn sẽ phải sử dụng một tham số để thiết lập nó. Hãy cẩn thận để neo cái bẫy ở nơi mà nó không rơi và phá hủy mọi thứ một cách không mong muốn.

Tạo một phần mới

Một phần cần được thiết lập để phá hủy bất cứ thứ gì chạm vào nó.

  1. Tạo một phần mới không chạm vào bất cứ thứ gì. Nếu nó chạm vào một cái gì đó, nó có thể kích hoạt quá sớm.
  2. Trong Explorer, đổi tên phần thành: TrapPart.
  3. Neo phần đó.

Thiết lập kịch bản

Sử dụng những gì bạn biết về biến và cấu trúc trò chơi để tham chiếu đến phần bẫy.

  1. Thêm một kịch bản mới vào phần bẫy. Đổi tên kịch bản thành TrapScript.

  2. Xóa Hello World và thêm một chú thích mô tả.

  3. Dưới chú thích, tạo một biến mới tìm phần cha của kịch bản.

    -- Phá hủy bất cứ thứ gì chạm vào phần cha
    local trap = script.Parent

Tạo một hàm với một tham số

Cái bẫy sẽ sử dụng một hàm để phá hủy bất cứ thứ gì chạm vào phần. Để hoạt động, hàm cần biết cái gì đã chạm vào phần. Và điều đó có nghĩa là sử dụng tham số. Các tham số được gõ bên trong () đi kèm sau tên hàm. Chúng trông như thế này:

local function functionName(parameterName)
end

Thông tin thực tế được truyền qua tham số được gọi là một đối số. Bạn sẽ tạo một hàm mới gọi là onTouch() với một tham số gọi là objectTouched sẽ theo dõi bất cứ thứ gì chạm vào cái bẫy và sau đó phá hủy phần chạm vào.

  1. Tạo một hàm cục bộ. Nó có thể được đặt tên bất kỳ, nhưng bài học này sẽ sử dụng onTouch

    local trap = script.Parent
    local function onTouch()
    end
  2. Bên trong (), gõ một tên cho tham số. Bài học này sẽ sử dụng objectTouched.

    local trap = script.Parent
    local function onTouch(objectTouched)
    end
  3. Giữa local function onTouch()end, tạo một câu lệnh in. Bạn sẽ sử dụng điều này để kiểm tra xem có thứ gì đó chạm vào phần trong phần tiếp theo.

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Có thứ gì đó chạm vào cái bẫy")
    end

Sử dụng một sự kiện để gọi hàm

Chúng ta muốn hàm chạy bất cứ khi nào có thứ gì đó chạm vào phần. Để làm điều đó, kết nối hàm với sự kiện Touched. Sự kiện là những điều xảy ra trong trò chơi. Như một người chơi chạm vào một phần hoặc mất sức khỏe. Khi một hàm được kết nối với một sự kiện, hàm sẽ chạy bất cứ khi nào sự kiện xảy ra.

Sự kiện Touched được kích hoạt bất cứ khi nào một phần chạm vào một phần khác và có thể được sử dụng để tạo ra các nút bấm, bẫy, và các đối tượng khác mà người chơi tương tác.

  1. Dưới end của hàm, gõ trap.Touched:Connect(onTouch)

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Có thứ gì đó chạm vào cái bẫy")
    end
    -- Kết nối hàm với sự kiện Touched
    trap.Touched:Connect(onTouch)
  2. Nhấp vào Test và sau đó chạm vào phần. Kiểm tra câu lệnh in thử nghiệm của bạn: Có thứ gì đó chạm vào cái bẫy. Nếu bạn không thấy chuỗi trong cửa sổ Output, hãy kiểm tra các điều sau:

    • Đảm bảo chuỗi "Có thứ gì đó chạm vào phần!" nằm giữa local function onTouch() và end.
    • Kiểm tra rằng Touched được viết hoa.
  3. Bây giờ mà hàm đã được thiết lập đúng, hãy sử dụng nó để phá hủy bất cứ thứ gì chạm vào phần. Bên trong hàm, sau chuỗi, gõ objectTouched:Destroy() Mã hoàn chỉnh sẽ là:

    local trap = script.Parent
    local function onTouch(objectTouched)
    print("Có thứ gì đó chạm vào cái bẫy")
    -- Phá hủy đối tượng chạm vào
    objectTouched:Destroy()
    end
    trap.Touched:Connect(onTouch)
  4. Kiểm tra lại và xem điều gì xảy ra khi phần được chạm vào. Nhân vật của bạn sẽ bị thiếu chân hoặc tay. Nếu phần chạm vào đầu hoặc cổ của nhân vật, nó thậm chí có thể bị phá hủy hoàn toàn.

Tóm tắt

Các tham số được sử dụng để truyền thông tin mà thường sẽ nằm ngoài phạm vi (nơi mà một hàm không thể nhìn thấy nó), vào một hàm. Trong khi đó, các sự kiện là các tín hiệu đặc biệt được kích hoạt bên trong trò chơi khi có điều gì quan trọng xảy ra. Các đối tượng khác nhau có các sự kiện khác nhau. Các hàm có thể được kết nối với các sự kiện để chúng được gọi mỗi khi sự kiện được kích hoạt. Kịch bản nhỏ này đã kết nối một hàm với sự kiện Touched của cái bẫy, và truyền vào cái gì đang chạm vào cái bẫy thông qua tham số.

©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.