Thực hành tham số - nút bấm

*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.

Nút bấm có thể được người chơi sử dụng để mở khóa các khu vực mới, cho điểm và tiết lộ kho báu. Mỗi khi một người chơi chạm vào nút bấm, nó nên cung cấp một phản hồi để cho người chơi biết rằng nó đang được tương tác, chẳng hạn như thay đổi màu sắc hoặc phát ra âm thanh.

Trong ví dụ này, nút bấm sẽ được sử dụng để kích hoạt một cây cầu. Khi nút bấm được nhấn, nó sẽ chuyển sang màu xanh và người chơi sẽ có thể sử dụng cây cầu. Nếu người chơi chưa nhấn nút bấm, họ sẽ rơi qua cây cầu khi cố gắng đi trên đó.

Tạo một cây cầu

Bắt đầu bằng cách thiết lập cây cầu.

  1. Tạo một khu vực trong môi trường của bạn nơi người chơi sẽ cần một cây cầu.

  2. Tạo một phần cho cây cầu và đổi tên thành Cầu.

  3. Chọn cây 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 là hiển thị, 1 là không hiển thị.
    • Đánh dấu Neo.
    • Bỏ chọn Có va chạm.
  4. Khi bạn thử nghiệm trò chơi, cây cầu nên có vẻ mờ và mọi người không nên có thể đi trên đó.

Tạo nút bấm

Bây giờ cây cầu đã được thiết lập, hãy tạo nút bấm.

  1. Tạo một phần mới có tên là Nút bấm.

  2. Thay đổi màu sắc của nút bấm thành màu đỏ.

  3. Neo nút bấm.

  4. Di chuyển nút bấm sao cho nó hơi nổi và không chạm vào bất cứ thứ gì. Điều này để đảm bảo rằng sự kiện Chạm không vô tình được kích hoạt.

Làm cho nút bấm tương tác

Lần này, thay vì sử dụng sự kiện Chạm để tạo một cái bẫy, bạn sẽ sử dụng nó để tạo một nút bấm làm cho cây cầu có thể sử dụng được. Để làm cho cây cầu có thể va chạm, hãy sử dụng mã bridge.CanCollide = true trong một hàm tùy chỉnh được chạy khi một người chơi chạm vào nút bấm. Bạn biết mọi thứ khác bạn cần để hoàn thành các bước sau.

Hãy cố gắng tự tìm ra trước khi xem giải pháp mã.

  1. Chèn một kịch bản mới vào nút bấm có tên Kích hoạt Cầu.
  2. Xóa Hello World.
  3. Tạo các biến cho cây cầu và cho nút bấm.
  4. Tạo một hàm cục bộ thực hiện các bước sau khi nút bấm được chạm:
    • In ra "nút bấm đã được chạm".
    • Thay đổi màu sắc của nút bấm từ đỏ sang xanh khi được chạm.
    • Thay đổi độ trong suốt của cây cầu thành 0 để làm cho nó hiển thị.
    • Làm cho cây cầu có thể sử dụng bằng cách sử dụng mã bridge.CanCollide = true
  5. Kết nối hàm với sự kiện Chạm của nút bấm.
  6. Kiểm tra kịch bản và đảm bảo rằng cây cầu xuất hiện khi nút bấm được chạm.

Giải pháp mã Dưới đây là một giải pháp mã có thể

-- Chèn kịch bản này vào nút bấm
-- Chuyển nút bấm thành màu xanh khi có thứ gì đó chạm vào nút bấm.
local button = script.Parent
local bridge = workspace.Bridge
local function buttonPressed()
print("nút bấm đã được chạm")
button.Color = Color3.fromRGB(0, 170, 0)
bridge.Transparency = 0
bridge.CanCollide = true
end
button.Touched:Connect(buttonPressed)

Khắc phục sự cố mã của bạn

Vấn đề: Cây cầu đã rắn chắc khi trò chơi bắt đầu. Đảm bảo rằng các phần đã được Neo và không chạm vào bất cứ thứ gì. Các phần có thể chạm vào một cái gì đó, chẳng hạn như địa hình hoặc một phần khác, và gây ra hàm buttonPressed() được kích hoạt một cách vô tình.

Vấn đề: Bạn nhận được một lỗi trong cửa sổ Đầu ra nói rằng: "Cầu không phải là một thành viên hợp lệ của Workspace" Kiểm tra các điều sau:

  • Tên của cây cầu của bạn. Cây cầu trong kịch bản của bạn phải được đặt tên chính xác như trong Trình khám phá.
  • Rằng part.Touched:Connect(buttonPressed) nằm ngoài hàm buttonPressed().

Thử thách mã tùy chọn

Kịch bản trong bài học này cũng có thể được sử dụng để giữ cho các cánh cửa không cho phép người chơi vào 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 các bước sau:

  • Tạo một phần cửa.
  • Tạo một nút bấm xa hơn khỏi cửa.
  • 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ư sau:

local button = script.Parent
-- Nhắc nhở: Thay thế tên của phần, Cổng, bằng tên trong dự án của bạn
local gate = workspace.Gate
local function buttonPressed()
print("nút bấm đã được chạm")
-- Thay đổi nút bấm thành màu đỏ để cung cấp phản hồi cho người chơi
button.BrickColor = BrickColor.Red() -- THAY ĐỔI ĐIỀU NÀY
-- Làm cho cổng không hiển thị
gate.Transparency = 1
-- Làm cho người chơi có thể đi qua cổng
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)
©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.