If 문은 코드를 실행하기 전에 참이어야 하는 여러 요구 사항을 가질 수 있습니다. and 키워드를 사용하면 문장을 결합할 수 있습니다. 다음 코드는 먼저 2 더하기 2가 6인지 평가하고, 그 다음 4가 6이 아닌지 평가합니다. 두 문장이 모두 참이면 코드는 실행됩니다.
-- 실행되지 않음
if 2 + 2 == 6 and 4 ~= 6 then
print("두 문장이 모두 참입니다")
end
-- 실행됨
if 4 + 2 == 6 and 4 ~= 6 then
print("두 문장이 모두 참입니다")
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 이하인 경우입니다.