본문 바로가기
Lua

[로블록스 스크립트][Lua] 캐릭터에만 반응하는 Part 만들기

by teamnova 2022. 10. 13.

안녕하세요 오늘은 캐릭터에만 반응하는 Part 를 만들어보겠습니다.

먼저 다음과 같이 파트를 준비해줍니다.

잔디 안에 다음과 같은 Script를 생성합니다.

local part = script.Parent
function ChangeColor(hit)
	local humanoid = hit.Parent:FindFirstChild("Humanoid") -- 물체에 닿은 물체가 내 캐릭터인지 확인
	if humanoid then  -- 닿은 물체가 캐릭터이면 if 조건문 안에 내용을 실행함
		part.BrickColor = BrickColor.Random() -- 블록의 색상을 변경
	end
end
part.Touched:Connect(ChangeColor) -- part 에 물체가 닿았을때 ChangeColor 함수를 실행함

FindFirstChild("개체이름")

은 어떤 개체가 있는지 없는지 확인하는데 사용하는 메소드 입니다.

.으로 탐색하는 방식의 경우 개체가 없는 경우 에러가 발생하지만 해당 메소드는 nil 값을 반환하여 오류 없이 실행이 가능합니다.



캐릭터가 닿았을 경우에만 파트의 색이 변하는 것을 확인 할 수 있습니다.

이 포스팅은 해당 로블록스 공식문서를 참고하였습니다.

https://developer.roblox.com/en-us/

 

궁금한 점은 댓글로 남겨주세요.

감사합니다.