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 không biết trước thông tin đó sẽ là gì, hoặc bạn muốn có thể sử dụng lại cùng một hàm với nhiều 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 một khóa học obby nhanh nhất bằng chữ lớn cho mọi người. Bạn sẽ không biết tên của người chiến thắng tương lai cho đến khi cuộc đua kết thúc.
Tham số là những dấu chấm cho thông tin mà bạn muốn cung cấp cho hàm sau này. 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 cái bẫy phá hủy mọi thứ chạm vào phần đó, bao gồm 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 xuống và phá hủy mọi thứ một cách vô tình.
Tạo một phần mới
Một phần cần được thiết lập để phá hủy bất kỳ thứ gì chạm vào nó.
- Tạo một phần mới không chạm vào bất cứ cái gì. Nếu nó chạm vào một cái gì đó, nó có thể hoạt động quá sớm.
- Trong Explorer, đổi tên phần thành: TrapPart.
- 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à phân cấp trải nghiệm để tham chiếu đến phần cái bẫy.
Thêm một kịch bản mới vào phần cái bẫy. Đổi tên kịch bản thành TrapScript.
Xóa Hello World và thêm một chú thích mô tả.
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 mọi thứ chạm vào chalocal 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 kỳ 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ố. Tham số được gõ bên trong () theo sau tên của một 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 để theo dõi bất kỳ thứ gì chạm vào cái bẫy và sau đó phá hủy phần chạm vào.
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.Parentlocal function onTouch()endBên trong (), gõ một tên cho tham số. Bài học này sẽ sử dụng objectTouched.
local trap = script.Parentlocal function onTouch(objectTouched)endGiữa local function onTouch() và end, tạo một câu lệnh in ra. Bạn sẽ sử dụng điều này để kiểm tra xem có cái gì đang chạm vào phần trong phần tiếp theo.
local trap = script.Parentlocal function onTouch(objectTouched)print("Có cái 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ó cái 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ải nghiệm. 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ẫy và các đối tượng khác mà người chơi tương tác.
Dưới end của hàm, gõ trap.Touched:Connect(onTouch)
local trap = script.Parentlocal function onTouch(objectTouched)print("Có cái gì đó chạm vào cái bẫy")end-- Kết nối hàm với sự kiện Touchedtrap.Touched:Connect(onTouch)Nhấn 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ó cái 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ó cái gì đó chạm vào phần!" nằm giữa local function onTouch() và end.
- Kiểm tra xem Touched có được viết hoa không.
Bây giờ mà hàm được thiết lập đúng, hãy sử dụng nó để phá hủy bất kỳ 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.Parentlocal function onTouch(objectTouched)print("Có cái gì đó chạm vào cái bẫy")-- Phá hủy đối tượng chạm vàoobjectTouched:Destroy()endtrap.Touched:Connect(onTouch)Thử lại và xem chuyện gì xảy ra khi phần được chạm vào. Nhân vật của bạn sẽ mất chân hoặc tay. Nếu phần chạm vào đầu hoặc cổ của nhân vật, nó có thể bị phá hủy hoàn toàn.
Tóm tắt
Tham số được sử dụng để truyền thông tin mà thông 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à những tín hiệu đặc biệt bật lên trong trải nghiệm 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 lần 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 thông tin về cái gì đang chạm vào cái bẫy qua tham số.