잘하면 쉽게 질문을 가지고 있지만, 왜 내가 원하는 코드를하지 못하는지 이해할 수 없습니다.루아 함수 범위
function Sound:load()
trackToPlay = musicDownbeat
trackToPlay:play()
end
function Sound:changeMusic()
if trackToPlay == musicUpbeat then
trackToPlay:stop()
trackToPlay = musicDownbeat
trackToPlay:play()
end
if trackToPlay == musicDownbeat then
trackToPlay:stop()
trackToPlay = musicUpbeat
trackToPlay:play()
end
end
그래서 내가 musicUpbeat 및 musicDownbeat, 사이 코드의이 시점에서 번갈아 할 수있는 두 개의 소스 트랙을 가지고있다 (: 부하()를 가능한 한 명확하게하기 위해 나는 사운드를 벗었습니다) changeMusic()이 호출 될 때마다 trackToPlay는 항상 musicDownbeat입니다. 즉, changeMusic()이 호출 될 때마다 음악이 중지되고 musicUpbeat로 변경됩니다.
소리 : load()는 한 번만 호출됩니다. 맞습니까? 그렇다면 내 trackToPlay 변경 사항이 저장되지 않는 이유는 무엇입니까?
"사운드 : load()는 한 번만 호출됩니다." 나는 모른다. 너의 기능이야, 그렇지? 얼마나 자주 전화하십니까? 아니면 특별한 루아 환경입니까? –
나는 또한 Love2D 프레임 워크를 사용하고 있습니다. 죄송합니다. 문제를 해결할 수 있을지 모르겠지만 포함시켜야합니다. 이 기능은 잠시 "f"키를 누를 때마다 호출됩니다. –