버튼은 플레이어가 새로운 영역을 잠금 해제하고 포인트를 제공하고 보물을 밝힐 수 있습니다. 플레이어가 버튼을 터치할 때마다 일부 피드백을 제공하여 플레이어가 상호 작용하고 있음을 알려줍니다. 색상을 변경하거나 음향을 만드는 등의 음향 등의 음향을 만드는 등의 음향을 만드는 등의 음향을 만드는 등의 음향을 만
이 예에서 버튼은 다리를 활성화하는 데 사용됩니다. 버튼이 누르기 시작되면 버튼이 녹색으로 변경되고 플레이어가 다리를 사용할 수 있습니다. 플레이어가 버튼을 누르지 않았다면 버튼을 누르면 다리를 통과할 수 있습니다.
다리 만들기
다리를 설정하여 시작하십시오.
플레이어가 다리를 필요로 하는 게임 영역을 만듭니다.
다리에 대한 부분을 만들고 다리를 다시 이름 변경하십시오.
속성 창에서 다리를 선택합니다.
- 투명도를 .5로 변경합니다. 투명도는 0이 표시되고 1이 보이지 않습니다.
- 체크 앵커 .
- Uncheck CanCollide .
게임을 테스트하고 다리는 안개 모양을 취하고 사람들은 아직 그 위를 걷지 못해야 합니다.
버튼 생성
이제 다리가 설정된 상태에서 버튼을 생성합니다.
- 버튼이라는 이름의 새로운 부품을 생성합니다.
- 버튼 색상을 빨강으로 변경합니다.
- 버튼을 앵커로 고정합니다. 4. 버튼을 조금만 떠나 있도록 이동하여 아무것도 터치하지 않습니다. 이렇게 하여 Touched 이벤트가 실제로 발생하지 않도록 합니다.
버튼 상호 작용 만들기
이번에는 Touched 이벤트를 사용하여 함정을 생성하는 대신 버튼을 만듭니다. 이 버튼을 사용하여 교량을 사용할 수 있게 합니다. 교량을 충돌 가능하게 하려면 코드 bridge.CanCollide = true
코드 솔루션을 보기 전에 스스로 해결하십시오.
- 활성화 다리 버튼에 새로운 스크립트를 삽입합니다.
- Delete Hello World .
- 다리와 버튼에 대한 변수를 만듭니다.
- 버튼을 터치한 다음 다음을 수행하는 로컬 함수 를 생성합니다.
- Prints "button touched" .
- 버튼의 색을 터치할 때 빨간색에서 초록색으로 변경합니다.
- 다리의 투명도를 0으로 변경하여 표시하십시오.
- 코드를 사용하여 다리를 사용할 수 있게 합니다. bridge.CanCollide = true
- 버튼의 Touched 이벤트에 함수를 연결하십시오.
- 스크립트를 테스트하고 버튼을 터치할 때 다리가 나타나는지 확인하십시오.
아래에는 가능한 코드 솔루션이 하나 있습니다.
-- 이 스크립트를 버튼에 삽입
-- 버튼을 눌러 녹색으로 변경합니다.
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)
코드 문제 해결
문제: 게임이 시작되면 다리가 이미 고정되어 있습니다. 부품이 부품을 잡고 있지 않도록 해주세요. 부품이 부품을 만지고 있을 수 있으며 버튼을 누르면 실수로 버튼을 누르게 될 수 있습니다. 문제: 출력 창에 오류가 표시되어 말하는 것은 "작업 공간의 유효한 구성원이 아닙니다" 팔로잉확인하십시오.
- 당신의 다리의 이름을 지정합니다. 스크립트의 다리는 탐색기와 정확히 같은 이름을 가져야 합니다.
- 그 part.Touched:Connect(buttonPressed) 는 buttonPressed() 함수의 외부에 있습니다.
선택적 코드 챌린지
이 수업의 스크립트는 플레이어가 특정 영역을 떠나게 하는 문을 유지하는 데에도 사용될 수 있습니다. 코딩 기술을 연습하고 팔로잉수행하십시오.
- 문 부품을 만듭니다.
- 문으로부터 더 멀리 버튼을 생성합니다.
- 이 레슨에서 스크립트를 변경하여 문이 투명하게 변경되고 플레이어가 충돌하지 않도록 합니다.
버전은 다음과 같이 보일 수 있습니다:
local button = script.Parent
-- 알림: 프로젝트에 있는 게이트 이름을 부품, 게이트로 변경
local gate = workspace.Gate
local function buttonPressed()
print("button touched")
-- 플레이어 피드백을 빨간색으로 변경하려면 버튼을 변경
button.BrickColor = BrickColor.Red() -- 이것 변경
-- 게이트 투명화
gate.Transparency = 1
-- 플레이어가 게이트를 통과할 수 있게 합니다
gate.CanCollide = false
end
button.Touched:Connect(buttonPressed)