If 문은 실행하기 전에 참이어야 하는 여러 가지 요구 사항을 가질 수 있습니다. and 키워드는 문을 결합할 수 있도록 해줍니다. 다음 코드는 먼저 2 더하기 2가 6인지 평가하고, 그 다음 4가 6과 같지 않은지를 평가합니다. 두 문이 모두 참일 경우 코드가 실행됩니다.
-- 실행되지 않음if 2 + 2 == 6 and 4 ~= 6 thenprint("두 문이 모두 참입니다")end-- 실행됨if 4 + 2 == 6 and 4 ~= 6 thenprint("두 문이 모두 참입니다")end
파워업 만들기
파워업은 플레이어에게 비행, 투명, 또는 속도와 같은 특별한 능력을 부여하는 경험 내 아이템입니다. 이 파워업은 파워업이 터치될 때마다 플레이어의 걷기 속도를 증가시킵니다. 지속적인 속도 증가 적용은 플레이어를 너무 빠르게 만들 수 있으므로, and를 사용하여 최대 걷기 속도 제한을 제어할 것입니다.
파워업 설정하기
이 코드를 간단한 파트나 모델, 예를 들어 크리스탈, 동전, 또는 빛나는 네온 구체와 함께 사용하세요.
Powerup이라는 새 파트를 생성하고 WalkSpeedManager라는 스크립트를 삽입합니다.
speedBoost라는 변수를 선언하고 스크립트의 부모 객체를 할당합니다.
-- 터치될 때 임시 속도 증가를 줍니다local speedBoost = script.ParentonTouch라는 함수를 설정하고 부모 객체의 Touched 이벤트에 연결합니다. 그리고 테스트해 보고 작업을 확인하세요.
local speedBoost = script.Parentlocal function onTouch(otherPart)print("무언가가 speedBoost에 터치했습니다")endspeedBoost.Touched:Connect(onTouch)WalkSpeed 속성은 Humanoid 객체에서 찾을 수 있습니다. 함정 파트를 생성할 때 사용했던 동일한 패턴을 사용하여 Humanoid 객체를 체크하는 조건을 만듭니다.
Humanoid 파트를 찾기local function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenprint("Humanoid가 발견되었습니다")endend
플레이어 속도 증가시키기
속도 증가는 사용할 때마다 아바타의 걷기 속도를 증가시킵니다. 이는 매우, 매우 빠르게 될 것입니다. and 키워드는 플레이어가 특정 속도 이하일 때만 속도 증가를 활성화하여 너무 빠르지 않도록 합니다.
Humanoid가 발견되면, 현재 WalkSpeed 값에 10을 추가합니다. 테스트를 해보면 아바타는 속도 증강을 받을 때마다 더 빨라질 것입니다.
현재 WalkSpeed 증가local function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid thenhumanoid.WalkSpeed += 10endendspeedBoost.Touched:Connect(onTouch)if 문에서 and 키워드를 사용하여 현재 WalkSpeed 값이 50보다 적은지 여부를 확인하는 두 번째 조건을 추가합니다. 속도를 증가시킨 후, 최대 WalkSpeed 값은 60이 될 것입니다.
현재 WalkSpeed가 50 이하인지 확인if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10end
속도 증가 조정하기
OnTouch는 파워업이 터치될 때마다 호출됩니다. 작은 튕김이나 스텝도 Touched 이벤트를 발생시키고 연결된 함수를 호출합니다. 파트의 속성인 CanTouch는 Touched 이벤트가 발생하지 않도록 할 수 있습니다. CanTouch를 활용하여 파워업이 활성화될 때마다 1초 동안 속도 증가를 끌 수 있습니다.
속도를 증가시킨 후, 파트의 CanTouch 속성을 false로 설정합니다. 테스트를 해보고 속도 증가가 한 번만 적용되는지 확인하세요.
속도 증가 비활성화local speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falseendendspeedBoost.Touched:Connect(onTouch)task.wait(1)을 사용하여 스크립트를 1초간 정지시킨 후, CanTouch를 true로 설정합니다. 테스트를 해보고 속도 증가가 1초 후에 다시 적용될 수 있는지 확인하세요.
완료된 스크립트local speedBoost = script.Parentlocal function onTouch(otherPart)local character = otherPart.Parentlocal humanoid = character:FindFirstChildWhichIsA("Humanoid")if humanoid and humanoid.WalkSpeed <= 50 thenhumanoid.WalkSpeed += 10speedBoost.CanTouch = falsetask.wait(1)speedBoost.CanTouch = trueendendspeedBoost.Touched:Connect(onTouch)완성된 스크립트에서 값들을 변경해 보세요. WalkSpeed는 최대 100까지 상승할 수 있습니다. 기본 WalkSpeed 값은 16입니다.
요약
and 키워드는 코드 조각을 실행하기 전에 여러 조건을 요구하는 데 사용될 수 있으며, 예를 들어 값이 0보다 크고 100보다 작아야 한다든지, Humanoid가 있고 그 WalkSpeed가 50 이하인지 확인할 수 있습니다.