Nút có thể được sử dụng bởi người chơi để mở khóa các khu vực mới, cung cấp điểm và tiết lộ kho báu.Mỗi khi một người chơi chạm vào một nút, nó nên cung cấp một số phản hồi để cho người chơi biết nó đang tương tác, như thay đổi màu sắc hoặc phát ra âm thanh.
Trong ví dụ này, nút sẽ được sử dụng để kích hoạt một cây cầu.Khi nút được nhấn, nó sẽ chuyển thành xanh và người chơi sẽ có thể sử dụng cầu.Nếu người chơi chưa nhấn nút, họ sẽ rơi qua cầu khi cố gắng đi bộ trên nó.
Tạo một cầu
Bắt đầu bằng cách thiết lập cầu.
Tạo một khu vực trong trò chơi mà người chơi sẽ cần một cây cầu.
Tạo một phần cho cầu và đổi tên thành Cầu.
Chọn cầu, trong cửa sổ Thuộc tính:
- Thay đổi Độ trong suốt thành .5. Đối với Độ trong suốt, 0 hiển thị, 1 không hiển thị.
- Kiểm tra Neo .
- Huỷ kiểm tra CanCollide .
Thử trò chơi, cây cầu nên có vẻ mờ nhạt và mọi người không nên có thể đi bộ trên nó chưa.
Tạo nút Create the button
Bây giờ khi cây cầu đã được thiết lập, tạo nút.
- Tạo một phần mới có tên là Nút.
- Thay đổi màu nút thành đỏ.
- Neo nút.
- Di chuyển nút để nó nhẹ nhàng lơ lửng và không chạm vào bất cứ thứ gì. Điều này là để đảm bảo sự kiện Touched không vô tình bắn.
Làm cho nút trở nên tương tác
Lần này, thay vì sử dụng sự kiện Touched để tạo một bẫy, bạn sẽ sử dụng nó để tạo một nút làm cho cầu có thể sử dụng.Để làm cho cây cầu có thể va chạm, hãy sử dụng mã bridge.CanCollide = true trong chức năng tùy chỉnh chạy khi một người chơi chạm vào nút.Bạn biết mọi thứ khác bạn cần để hoàn thành các bước tiếp theo.
Hãy cố gắng tìm ra chính xác trước khi xem giải pháp mã.
- Thêm một tập lệnh mới vào nút có tên ActivateBridge.
- Xóa Hello World .
- Tạo biến cho cầu và cho nút.
- Tạo một chức năng địa phương mà thực hiện theo sau khi nhấn vào nút:
- In "button touched" .
- Thay đổi màu của nút từ đỏ sang xanh khi chạm.
- Thay đổi độ trong suốt của cầu thành 0 để làm cho nó có thể nhìn thấy.
- Làm cho cầu có thể sử dụng bằng cách sử dụng mã bridge.CanCollide = true
- Kết nối chức năng với sự kiện Touched.
- Kiểm tra kịch bản và đảm bảo cầu xuất hiện khi nút được chạm.
Giải pháp mã bên dưới là một trong những giải pháp mã có thể
-- Nhúng kịch bản này vào nút
-- Làm cho nút xanh khi có thứ gì đó chạm vào nút.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("button touched")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)
Gỡ lỗi mã của bạn
Vấn đề: Cầu đã vững chắc khi trò chơi bắt đầu.: Hãy chắc chắn rằng các bộ phận được neo và không chạm vào bất cứ thứ gì.Các bộ phận có thể chạm vào thứ gì đó, như địa hình hoặc phần khác, và gây ra chức năng buttonPressed() bị lỗi. Vấn đề: Bạn nhận được một lỗi trong cửa sổ Thành phẩm nói rằng: "Cầu không phải là thành viên hợp lệ của Khu vực làm việc" Kiểm tra những điều theo dõi:
- Việc đặt tên cho cầu của bạn. Cầu trong kịch bản của bạn phải được đặt tên giống như trong Explorer.
- That part.Touched:Connect(buttonPressed) ở bên ngoài chức năng buttonPressed().
Thử thách mã bắt buộc opcional
Tập lệnh trong bài học này cũng có thể được sử dụng để giữ các cửa giữ người chơi ra khỏi các khu vực cụ thể. Thực hành kỹ năng lập trình của bạn và làm theo những theo dõi:
- Tạo một phần cửa.
- Tạo một nút cách xa cửa hơn.
- Thay đổi kịch bản trong bài học này để làm cho cửa thay đổi trong suốt và người chơi không thể va chạm với nó.
Phiên bản của bạn có thể trông giống như thế này:
local button = script.Parent
-- Nhắc nhở: Thay thế tên của phần, Cổng, bằng cái trong dự án của bạn
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- Thay đổi nút thành màu đỏ để cho người chơi phản hồi
button.BrickColor = BrickColor.Red() -- THAY ĐỔI NÀY
-- Làm cho cổng trở nên vô hình
gate.Transparency = 1
-- Làm cho người chơi có thể đi qua cổng
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)