본문 바로가기

렌파이/게임 제작하기

텍스트 어드벤처 만들기 (3) 그림, 음악, 음성 추가하기

준비할 것

사용할 음악 파일과 그림 파일을 /game 폴더에 넣으면 준비 완료입니다.

그림 넣기


우선 게임에서 사용할 그림을 init 블록에 등록합니다. 그 후에는 scene 문이나 show 문을 등록한 이미지 이름과
함께 적으면 화면에 그림을 추가할 수 있습니다.
scene 문은 배경그림을 넣을 때, show 문은 캐릭터 그림을 불러올 때 사용하면 됩니다.

image 문

위에서 image 문 다음에 적은 것, 그러니까 bg mbcgame loox 라던가 fomos article 을 이미지 이름이라고 합니다. 그 중에서 제일 앞에 위치한 bg 와 fomos 을 가리켜 이미지 태그라고 하며, 그 뒤에 달린 것은 이미지 속성이라고 합니다. 이미지 태그 뒤에 공백으로 구분된 이미지 속성이 몇 개든지 나와도 그 모두가 이미지 속성이며, 언제나 제일 앞에 오는 것이 이미지 태그입니다. 이미지 태그는 이미지 표시를 어떻게 처리할지 결정하는 데 사용됩니다.

예를 들어 이전에 eileen happy 라는 이미지를 표시했는데 그 다음에 eileen normal 이라는 그림을 표시했다면, 이 두 이미지는 eileen 이라는 이미지 태그를 공유하므로 이전의 eileen happy 그림은 eileen normal 로 교체됩니다. 이 때 이전 그림인 eileen happy는 자연히 사라집니다.


예제에서 baekansi normal 그림은 baekansi scream 그림이 나타난 순간 사라지고 baekansi scream 이미지가 나타납니다.

이미지 태그가 다른 두 이미지를 그림을 표시하고 지울 때 서로 영향을 받지 않습니다.


scene 문

위에서처럼 scene 은 배경을 표시할 때 주로 사용됩니다. 거기에 더해 scene 은 장면을 교체하는 기능을 할 수 있도록, 이전에 표시되었던 그림을 모두 사라지게 합니다. 그리고 새로운 scene 문으로 표시된 이미지만이 화면에 남게 됩니다


따라서 캐릭터가 전부 사라지고 장면이 교체되어야 하는 부근에 scene 을 이용하면 됩니다.

show 문

캐릭터 그림을 표시할 때 이용됩니다. 그런데 같은 캐릭터의 그림 - 특히 표정을 바꿀 때는 주로 대사와 함께 바꾸는 경우가 있어서 다음처럼 명령어를 두 줄씩 적어야 하는 번거로움이 있습니다.


이를 해결하려면 Character 를 이용하면 됩니다.


먼저 Character 에 이 캐릭터와 연관된 이미지의 태그를 연결해 준 다음
대사를 입력할 때 캐릭터 이름 옆에 이미지 속성을 입력하면 show 문을 이용하지 않고도 이미지를 바꿀 수 있습니다.

at 으로 그림 위치 정하기

show 문을 그대로 쓰면 캐릭터를 여럿 추가해도 가운데에 모두 나타납니다. show를 at 과 함께 위치를 적어주면 캐릭터 표시 위치를 바꿀 수 있습니다. (scene 에도 at을 사용할 수는 있습니다만 배경화면으로 쓸 그림의 위치는 정 가운데면 충분하지 않나여..)

with 으로 화면전환효과 추가하기

화면전환효과라는 것은 이미지가 사라지거나 나타날 때 곁들여지는 특수효과 같은 것입니다. 이미지가 서서히 나타났다가 서서히 사라지거나, 오른쪽으로 움직이면서 화면 밖으로 사라지거나 하는 등의 효과를 이미지에 추가하면 훨씬 생동감있는 연출을 할 수 있습니다.

with도 at 과 마찬가지로 show 나 scene 명령문 오른쪽에 입력해주면 됩니다. 그리고 원하는 화면전환효과의 종류를 적어주면 됩니다. 아래 예제에서는 이미지를 천천히 나타나도록 합니다.


여러 장의 이미지가 한 번에 같은 화면전환효과를 받도록 하려면 이미지 명령문을 다 적고 그 다음 줄에 with 문을 적어주면 됩니다.


with 문과 함께 쓸 수 있는 화면전환효과는 이 페이지에서 확인할 수 있습니다.

참고로 at 과 with 을 함께 쓰는 것도 가능합니다.

hide 로 그림 숨기기

화면에서 그림을 사라지게 하려면 hide를 이용하면 됩니다. 이 때는 사라지게 하려는 그림의 이미지 태그만 적어도 됩니다. hide 에도 with 을 쓸 수 있습니다.


소리 넣기

play 문으로 배경음악과 효과음 넣기

배경음악과 효과음은 각각 다음처럼 적으면 추가할 수 있습니다.


음악을 멈추려면 stop 문을 이용합니다. 이 때 파일 이름은 적을 필요 없고 대신 음악의 종류만 입력하면 됩니다.


fadeout 과 fadein을 이용하면 음악이 자연스럽게 재생/중지되도록 만들 수 있습니다.


voice 문으로 목소리 넣기

음성이 있는 게임이라면 voice 문으로 목소리도 넣어줍시다. 형식은 voice "파일이름"입니다.



FAQ

음악/소리가 안 들립니다. 에러 메세지는 없습니다.

소리 파일의 경우 파일 이름을 잘못 입력하면 에러 메세지가 뜨지 않고 음악이 재생되지 않습니다. 스크립트에 적은 소리 파일 이름과 /game 폴더에 있는 파일 이름이 일치하는지 확인해보세요.

game 외의 폴더에 파일을 따로 넣어서 관리하려면 어떻게 하나요.

sound/ image / music 같은 폴더에 각 파일을 분류해서 넣으시고 다음과 같이 입력하면 됩니다.


그림이 많아서 일일히 init 에 등록하기 귀찮아요.

options.rpy 에 들여쓰기에 맞춰 다음 스크립트를 추가합니다.


이렇게 하면 폴더 내에 있는 이미지 파일 중에서 구분자로 나눠진 파일 이름을 가진 이미지 파일을 자동으로 등록할 수 있습니다.
자세한 내용은 이쪽을 참고하세요.

참고


Show 명령문
Scene 명령문
Hide 명령문
With 명령문