Những nút có thể được sử dụng bởi người chơi để mở khóa các khu vực mới, đưa ra các đ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 đưa ra một số phản hồi để cho người chơi biết nó đang được tương tác với nó, chẳng hạn như thay đổi mà
Trong ví dụ này, nút sẽ được sử dụng để kích hoạt một cầu. Khi nút đã được nhấn, nó sẽ trở nên 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 họ cố gắng đi bộ trên nó.
Tạo một cầu
Bắt đầu bằng cách cài đặt cầu.
Tạo một khu vực trong trò chơi của bạn mà người chơi sẽ cần một cầu.
Tạo một phần cho cầu và đổi tên nó là Cầu.
Chọn cầu, trong cửa sổ Thuộc tính:
- Đổi Độ trong suốt để .5. Đối với độ trong suốt, 0 là hiển nhiên và 1 là tàng hình.
- Kiểm tra Anchor .
- Huỷ kiểm tra có thể va chạm .
Thử nghiệm trò chơi, cầu nên trông sương mù và người ta không thể bước vào nó ngay bây giờ.
Tạo nút
Bây giờ khi cầu được cài đặt, tạo nút.
- Tạo một phần mới có tên là Button .
- Đổi màu nút thành màu đỏ.
- Kéo dây nút.
- Di chuyển nút để nó nổi nhẹ và không chạm vào bất cứ thứ gì. Điều này để đảm bảo rằng sự kiện Touched không bị tai nạn.
Làm cho nút tương tác
Lần này, thay vì sử dụng sự kiện Touched để tạo một cái 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 được. Để làm cho cầu có thể sử dụng, hãy sử dụ
Cố gắng tự tìm ra nó trước khi xem giải pháp mã.
- Lập một script 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 làm theo những gì nút này được chạm:
- In "button touched" .
- Đổi màu nút từ đỏ sang xanh khi chạm.
- Đổi độ trong suốt của cầu thành 0 để làm cho nó có thể thấy.
- Làm cho cầu vượt có thể sử dụng bằng cách sử dụng mã này bridge.CanCollide = true
- Kết nối hàm này với sự kiện Touched của nút.
- Thử nghiệm script và đảm bảo cầu vượt xuất hiện khi nút được chạm.
Các giải pháp mã dưới đây là một trong những giải pháp mã có thể
-- Lập trình này vào nút
-- Đổi màu nút màu xanh khi có ai 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)
Xử lý sự cố của mã của bạn
Vấn đề: Cầu đã vững chắc khi trò chơi bắt đầu. Hãy đảm bảo các bộ phận được kết và không được chạm đến. Các bộ phận có thể chạm vào một thứ gì đó, chẳng hạn như mặt đất hoặc một bộ phận khác, và khiến nút được nhấn vô tình. Vấn đề: Bạn nhận được một lỗi trong Cửa sổ Ra khỏi nó nói: "Cầu nối không phải là thành viên hợp lệ của Workspace" Kiểm tra những gì theo dõi:
- Việc đặt tên cho cầu của bạn. Cầu trong script của bạn phải được đặt tên chính xác như trong Explorer.
- Điều đó part.Touched:Connect(buttonPressed) nằm ngoài chức năng buttonPressed() .
Thử thách mã bắt buộc
Các câu trong bài hướng dẫn này cũng có thể được sử dụng để giữ các cửa khỏi các khu vực cụ thể. Luyện tập các kỹ năng lập trình của bạn và thực hiện những gì theo dõi:
- Tạo một phần cửa.
- Tạo một nút xa hơn cửa.
- Đổi script trong bài hướng dẫn này để làm cho cửa biến độ 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 như thế này:
local button = script.Parent
-- Nhắc nhở: Thay đổi tên của bộ phận, Cổng, với các bộ phận của dự án của bạn
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- Đổi nút thành màu đỏ để cho phản hồi người chơi
button.BrickColor = BrickColor.Red() -- THAY ĐỔI ĐIỀU NÀY
-- Làm cho cổng trở nên tàng 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)