1. 음악 파일 추가
음악 파일 추가하는 법은 이전 포스팅 https://stickode.tistory.com/552 을 참고해주세요.
2. 사운드 객체 생성
사운드 객체를 워크스페이스에 파트나 모델에 자식으로 추가했다면 그 파트의 위치에서 사운드가 출력됩니다.
속성 설정에 따라서 해당 파트에 가까이 가야만 소리가 재생됩니다.
게임내의 모든 플레이어에게 같은 볼륨으로 플레이하고 싶다면 SoundService 를 사용해야 합니다.
그래서 배경음악들은 SoundService에 추가합니다.
SoundService 에 Sound 객체를 추가하고 BackgroundMusic 이라고 이름을 바꿉니다.
사운드객체의 SoundId 속성에 위에서 사운드의 ID를 입력합니다.
사운드 객체 플레이
사운드 객체는 위의 예처럼 사운드서비스에 직접 등록할 수 있지만, 스크립트에서 사운드 객체를 생성하고 플레이까지 할 수 있다. 일반적인 경우라면, 사운드 객체를 생성하고 사운드서비스에 연결하는 스크립트를 사용하는 방법을 많이 사용할 것이다.
StarterPlayer 안에 StarterPlayerScripts 에 로컬 스크립트로 배경음악관련 스크립트를 추가하자. 배경음악 플레이관련은 굳이 서버스크립트를 사용할 이유가 없다. 스크립트 내에서 사운드 서비스를 불러오고 사운드 서비스의 BackgroundMusic 객체를 불러오자.
local SoundService = game:GetService("SoundService")
local backgroundMusic = SoundService.BackgroundMusic
BackgroundMusic 객체의 Play() 함수를 호출하면 배경음악이 플레이된다.
local SoundService = game:GetService("SoundService")
local backgroundMusic = SoundService.BackgroundMusic
backgroundMusic:Play()
BackgroundMusic 객체는 본질적으로 사운드 객체이다. 사운드객체를 직접 생성하여 플레이시킬 수도 있다.
local SoundService = game:GetService("SoundService")
local soundObject = Instance.new("Sound")
soundObject.SoundId = 사용할 사운드의 아이디
soundObject.Volume = 0.5
soundObject.Parent = SoundService
soundObject:Play()
사운드 속성에서 변경할 수 있는 속성들이다.
Looped : 음악 반복 재생 여부 체크
Playing : 체크하면 게임시작시 기본값으로 재생된다
Volume : 0 - 10 까지 설정할수있으며, 소수점 단위도 가능하다.
'Lua' 카테고리의 다른 글
[로블록스 스크립트][Lua] 캐릭터에만 반응하는 Part 만들기 (0) | 2022.10.13 |
---|---|
[로블록스 스튜디오] HTTP 통신으로 Json 데이터 받아오기 (0) | 2022.09.18 |
[Lua] 자라나는 잔디 만들기 (0) | 2022.09.17 |
[로블록스 스튜디오] 버튼을 클릭하여 오디오 재생하기 (0) | 2022.08.04 |