질문 :
루아에서 이중 if문을 사용할려면
어떻게 해야되나요?
예시로
btn1 = Game.EntityBlock.Create({x=0, y=0, z=0})
btn2 = Game.EntityBlock.Create({x=1, y=1, z=1})
function btn1:OnUse(player)
if self.onoff .== true then
elseif btn2.onoff .== true then
player.position = ({x=2, y=2, z=-2})
end
end
하면
btn1의 장치를 ON으로 바꿨을떄
btn2도 ON 상태면
플레이어를 특정 좌표로 텔레포트 시키는게 맞는건가요?
루아 고수님들
예시좀 부탁드립니다..
답변 :
btn1 장치를 ON으로 하였을 때, btn2 장치 또한 ON 상태여야 특정좌표로 텔레포트시키는 기능을 수행하려면
function btn1:OnUse(player)
if (self.onoff .== true) and (btn2.onoff .== true) then
player.position = ({x=2, y=2, z=-2})
end
end
이 적절해 보입니다.
elseif문은 선행된 if문의 조건을 만족하지 않아 if문 아래의 명령어들을 수행하지 않을 때 그 다음으로 읽게되는 부분입니다.
즉 질문자님이 작성하신 코드대로라면, btn1의 신호가 OFF인 경우에 btn2의 ON 상태를 체크하게 됩니다.
그리고 질문자님이 작성하신 코드대로라면, 'if self.onoff .== true then' 밑으로 구동해야 할 명령어들이 없기 때문에 오류가 발생합니다.
도움 되셨으면 좋겠습니다.