이전 강의 : https://faper.tistory.com/37
[renpy 강좌 01 ] 설치 및 기초 문법
Ren'Py는 주로 비주얼 노벨 및 스토리 기반 게임을 제작하는 데 사용되는 인기 있는 게임 엔진이다. 이 엔진은 Python 프로그래밍 언어에 기반을 두고 있으며, 그 이름도 Python과 '
faper.tistory.com
저번 시간에 만든 것은 이런 검은 배경에 특별한 디자인은 없었다.
여기에 이제 적당한 배경과 적당한 이미지를 넣어서 캐릭터를 만들 수 있다.
이미지는 아무곳에서 대충 구해오면 된다. 여기서는 Novel AI 나 MS의 AI 생성 사이트를 활용해서 만들어줬다.
경로는 프로젝트 폴더에서 ./game/images에 넣으면 된다. 배경이나 아이템, 캐릭터 등등 이미지가 많아질 경우 이 폴더 안에서 추가적인 폴더를 만들어서 분리해주면 된다.
# 이 파일에 게임 스크립트를 입력합니다.
# image 문을 사용해 이미지를 정의합니다.
# image eileen happy = "eileen_happy.png"
image city = "bg01.png"
image airin01 = "airin01.png"
image airin02 = "airin02.png"
# 게임에서 사용할 캐릭터를 정의합니다.
define e = Character('아이린', color="#c8ffc8", image='airin01')
default book = False
# 여기에서부터 게임이 시작합니다.
label start:
scene city
e "새로운 렌파이 게임을 만들었군요."
e "이야기와 그림, 음악을 더하면 여러분의 게임을 세상에 배포할 수 있어요!"
e "어디로 이동할까요?"
menu:
"1. 카페로 가자":
e "카페 나도 좋아해요"
jump cafe
"2. 공원으로 가자":
e "다리 아픈데"
jump park
label cafe:
e "카페다!"
$book = True
jump airin
label park:
e "공원이다!"
jump airin
label airin:
e "그래서 이제 뭐할까요?"
if book:
e "책을 읽을까요?"
else:
e "산책이나 할까요?"
return
이렇게 image 키워드를 통해 이미지 파일을 불러오고 define 키워드의 Chracter()에 추가적으로 값을 넣을 수 있다.
또한, scene 키워드를 통해 배경화면을 지정 해줄 수 있다.
# 이 파일에 게임 스크립트를 입력합니다.
# image 문을 사용해 이미지를 정의합니다.
# image eileen happy = "eileen_happy.png"
image city = "bg01.png"
image airin01 = "airin01.png"
image airin02 = "airin02.png"
# 게임에서 사용할 캐릭터를 정의합니다.
define e = Character('아이린', color="#c8ffc8", image='airin01')
default book = False
# 여기에서부터 게임이 시작합니다.
label start:
scene city
show airin01 at left
e "새로운 렌파이 게임을 만들었군요."
e "이야기와 그림, 음악을 더하면 여러분의 게임을 세상에 배포할 수 있어요!"
e "어디로 이동할까요?"
menu:
"1. 카페로 가자":
e "카페 나도 좋아해요"
jump cafe
"2. 공원으로 가자":
e "다리 아픈데"
jump park
label cafe:
e "카페다!"
$book = True
jump airin
label park:
e "공원이다!"
jump airin
label airin:
e "그래서 이제 뭐할까요?"
if book:
e "책을 읽을까요?"
else:
e "산책이나 할까요?"
return
그리고 이렇게 show 키워드를 통해 image 객체를 불러오고 at 을 통해 위치를 지정 해줄 수 있다.
# 이 파일에 게임 스크립트를 입력합니다.
# 게임에서 사용할 캐릭터를 정의합니다.
define e = Character('아이린', color="#c8ffc8", image='airin01')
define sys = Character('system', color="#d42a1e")
# image 문을 사용해 이미지를 정의합니다.
# image eileen happy = "eileen_happy.png"
image city = "bg01.png"
image cafe = "cafe.png"
image park = "park.png"
image airin01 = "airin01.png"
image airin01 idle = "airin02.png"
default book = False
# 여기에서부터 게임이 시작합니다.
label start:
scene city
show airin01 at left
e "새로운 렌파이 게임을 만들었군요."
e "이야기와 그림, 음악을 더하면 여러분의 게임을 세상에 배포할 수 있어요!"
e "어디로 이동할까요?"
show airin01 at center:
ease 0.5 xalign 0.5
menu:
"1. 카페로 가자":
show airin01 idle at left zorder 1
e "카페 나도 좋아해요"
sys "호감도 +5"
jump cafe
"2. 공원으로 가자":
e "다리 아픈데"
sys "호감도 -1"
jump park
label cafe:
scene cafe
show airin01 idle at left zorder 1
e idle "카페다!"
$book = True
jump airin
label park:
scene park
show airin01 idle at left zorder 1
e "..이딴게 공원?"
jump airin
label airin:
e "그래서 이제 뭐할까요?"
if book:
e "책을 읽을까요?"
else:
e "산책이나 할까요?"
return
또한, ease문을 통해 css의 애니메이션과 같은 효과를 낼 수 있다. 더 자세한 이미지 변환은 아래의 링크를 통해 확인 할 수 있다.
https://www.renpy.org/doc/html/displaying_images.html
Displaying Images — Ren'Py Documentation
There are two ways to define images. You can either place an image file in the image directory, or an image can be defined using the image statement. The former is simple, as it involves placing properly named files in a directory, while the latter a allow
www.renpy.org
이렇게 자연스러운 이미지 이동이 가능하다.
'programming > renpy' 카테고리의 다른 글
[renpy 강좌 06 ] json 데이터 읽기 + side image로 텍스트 박스에 초상화 넣기 (0) | 2024.07.11 |
---|---|
[renpy 강좌 05 ] 특정 조건에 맞는 이벤트 실행하기 (3) | 2024.07.03 |
[renpy 강좌 04 ] 폰트 및 텍스트 박스 디자인 + 깃허브 세팅 (0) | 2024.06.22 |
[renpy 강좌 03 ] 다양한 GUI 다루기 (0) | 2024.05.13 |
[renpy 강좌 01 ] 설치 및 기초 문법 (0) | 2024.05.08 |