본문 바로가기
Lua

[로블록스 스튜디오]배경음악 넣기

by teamnova 2022. 8. 19.

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 까지 설정할수있으며, 소수점 단위도 가능하다.