반응형
loadSoundLibrary: a quick way of structuring and loading your sound effects
물론 SFXstuff라는 서브폴더를 생성해서 .caf 파일들을 그곳에 넣어야 겠죠.
이 함수의 첫번째 인수는 폴더 이름 입니다. 그 다음은 모두 테이블에 들어갈 sound element 들이구요. 즉 확장자가 없는 sound 파일들이죠.
일단 정확한 argument들의 숫자를 전달했는지 체크하구요. sound 이름을 잘 못 사용했다면 warning 도 해 줍니다.
이 정보가 여러분 코딩을 좀 더 쉽고 빠르게 하는데 도움이 되기를 바랍니다.
여러분 코드가 여러분이 로드해야 할 사운드 효과들로 조금 어지러워져 있다면 보다 적은 코딩으로 훨씬 더 쉽게 사운드를 로드 할 수 있는 정보를 이 글에서 보실 수 있으실 겁니다.
개발을 하다 보면 이미지 파일이나 lua 파일들과 더불어 사운드 파일들도 시간이 지날수록 숫자가 많이지게 될 겁니다. 그리고 그러한 파일들을 구분하려면 긴 디렉토리 이름을 찾아가느라고 힘들게 되구요. 이 글에서 보여드리는 예제는 그러한 부분들도 고려 된 겁니다. 좀 더 쉬운 방법으로 각각의 하위폴더를 관리할 수 있도록 해 드릴 겁니다.
예를 들어 여러분 코드가 이렇게 돼 있을 때...
sound_fx[ "meow" ] = audio.loadSound( "meow.caf" ) sound_fx[ "bark" ] = audio.loadSound( "bark.caf" ) sound_fx[ "explosion" ] = audio.loadSound( "explosion.caf" ) sound_fx[ "laugh" ] = audio.loadSound( "laugh.caf" ) sound_fx[ "cry" ] = audio.loadSound( "cry.caf" ) sound_fx[ "fart" ] = audio.loadSound( "fart.caf" ) sound_fx[ "belch" ] = audio.loadSound( "belch.caf" ) sound_fx[ "kiss" ] = audio.loadSound( "kiss.caf" ) sound_fx[ "slap" ] = audio.loadSound( "slap.caf" ) sound_fx[ "punch" ] = audio.loadSound( "punch.caf" ) sound_fx[ "boing" ] = audio.loadSound( "boing.caf" ) ...
보시면 아시겠지만 라인별로 많은 부분이 반복됩니다.
저의 loadSoundLibrary 를 사용하시면 프로그래밍 하기 훨씬 더 쉬워지실 겁니다.
local function loadSoundLibrary( ... ) -- quick-load a bunch of audio files, by Raphael Salgado aka BeyondtheTech, 2013 if #arg < 2 then print( "Invalid number of arguments for loadSoundLibrary" ) else local loadList, t, soundName local t2 = 0 for t = 2, #arg do soundName = arg [ t ] if sound_fx[ soundName ] ~= nil then print( "Warning - Sound name element " .. soundName .. " already exists, skipping" ) else sound_fx[ soundName ] = audio.loadSound( arg[ 1 ] .. "/" .. soundName .. ".caf" ) -- check, did it load successfully? if sound_fx[ soundName ] ~= nil then t2 = t2 + 1 end end end print( "Loaded " .. t2 .. " out of " .. #arg - 1 .. " " .. arg[ 1 ] .. " sounds" ) end end
이제 같은 오디오 파일 세트를 불러오기 위해서 아래 한줄만 추가하시면 됩니다.
loadSoundLibrary( "SFXstuff", "meow","bark","explosion","laugh","cry","fart","belch","kiss","slap","punch","boing" )
물론 SFXstuff라는 서브폴더를 생성해서 .caf 파일들을 그곳에 넣어야 겠죠.
이 함수의 첫번째 인수는 폴더 이름 입니다. 그 다음은 모두 테이블에 들어갈 sound element 들이구요. 즉 확장자가 없는 sound 파일들이죠.
일단 정확한 argument들의 숫자를 전달했는지 체크하구요. sound 이름을 잘 못 사용했다면 warning 도 해 줍니다.
이 정보가 여러분 코딩을 좀 더 쉽고 빠르게 하는데 도움이 되기를 바랍니다.
==> 이번 글은 BeyondtheTech 라는 곳에서 공유한 팁 입니다. 원문은 저 위의 제목을 클릭하면 보실 수 있습니다.
반응형
'Corona SDK > Corona SDK TIPs' 카테고리의 다른 글
수요일의 FAQ : Runtime Error Listener (2) | 2013.03.19 |
---|---|
런타임 에러 처리하기 (0) | 2013.03.07 |
수요일의 FAQ: 코로나 런타임 에러 관련 (0) | 2013.03.06 |
수요일의 FAQs : 서브 폴더와 서브 파일에 접근하기 (0) | 2013.02.22 |
Corona Tip from Facebook : 스토리보드 scene 을 떠날 때.... (0) | 2013.02.01 |
FAQ: 맥 시뮬레이터 업데이트 내용들 (0) | 2013.01.31 |
간단하게 디버그용 print 구문들 실행되지 않도록 하기 (0) | 2013.01.23 |
FAQ Wednesday : Custom Fonts 사용하기 (0) | 2013.01.18 |
Corona tip: Shuffle it! (0) | 2013.01.10 |
Corona TIP : display.remove()와 object:removeSelf() 의 차이 (0) | 2013.01.10 |