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 sử dụng bởi người chơi để mở khóa những khu vực mới, cho điểm và tiết lộ kho báu. Bất cứ khi nào một người chơi chạm vào nút bấm, nó nên cung cấp một số phản hồi để cho người chơi biết là nó đang được 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 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 lá 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 bấm, họ sẽ rơi qua cầu khi cố gắng đi lên trên đó.

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

Bắt đầu bằng cách thiết lập 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 cần một cây cầu.

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

  3. Chọn cầu, trong cửa sổ Thuộc tính:

    • Thay đổi Mức độ trong suốt thành .5. Đối với Mức độ trong suốt, 0 là hiển thị, 1 là không hiển thị.
    • Đánh dấu Neo.
    • Bỏ đánh dấu Có va chạm.
  4. Khi bạn thử nghiệm trải nghiệm, cầu nên có vẻ mờ và mọi người không nên có thể đi trên nó vẫn.

Tạo nút bấm

Bây giờ mà 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 Nút bấm.

  2. Đổi màu nút bấm thành màu đỏ.

  3. Neo nút bấm.

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

Làm cho nút bấm có thể 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 giúp cây cầu có thể sử dụng. Để làm cho cầu có thể va chạm, hãy sử dụng mã cầu.CanCollide = true trong một hàm tùy chỉnh chạy khi một người chơi chạm vào nút bấm. Bạn đã biết mọi điều khác cần thiết để hoàn thành các bước sau.

Hãy cố gắng tự mình tìm ra cách làm 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. Gỡ bỏ Hello World.
  3. Tạo các biến cho cầu và cho nút bấm.
  4. Tạo một hàm cục bộ mà thực hiện các bước sau khi nút bấm được chạm vào:
    • In ra "nút bấm đã được chạm".
    • Thay đổi màu nút bấm từ đỏ sang xanh lá khi được chạm vào.
    • Thay đổi mức độ trong suốt của cầu thành 0 để làm cho nó hiển thị.
    • Làm cho cầu có thể sử dụng bằng cách sử dụng mã cầu.CanCollide = true.
  5. Kết nối hàm với sự kiện Chạm của nút bấm.
  6. Thử nghiệm kịch bản và đảm bảo rằng cầu xuất hiện khi nút bấm được chạm vào.

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ầu đã chắc chắn ngay khi trải nghiệm bắt đầu. Đảm bảo rằng các phần đã được neo và không chạm vào thứ gì đó. Các phần có thể chạm vào thứ gì đó, như địa hình hoặc một phần khác, và khiến hàm buttonPressed() được kích hoạt vô tình.

Vấn đề: Bạn nhận được một lỗi trong cửa sổ Xuất 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 những đ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 Explorer.
  • 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 ngăn 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 những điều sau:

  • Tạo một phần cửa.
  • Tạo một nút bấm ở xa cánh cửa.
  • Thay đổi kịch bản trong bài học này để làm cho cánh cửa thay đổi mức độ 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ánh cổng không hiển thị
gate.Transparency = 1
-- Làm cho người chơi có thể đi qua cánh 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.