트랜지션은 with 명령문 과 함께 사용해 장면을 변경할 때 사용할 효과를 적용하는 기능입니다. 렌파이에 미리 정의된 트랜지션을 이용해 with 문과 함께 즉시 사용할 수도 있습니다. 트랜지션 클래스를 이용하면 새로운 트랜지션을 만들어 사용할 수도 있습니다.
기본 트랜지션은 다음과 같이 with 문에 직접 사용할 수 있습니다:
show bg washington
with dissolve
dissolve
¶0.5초 동안 이전 화면에서 새 화면으로 서서히 전환한다.
Dissolve()
트랜지션 클래스의 객체이다.
pixellate
¶0.5초 동안 이전 화면을 색이 다른 작은 사각형으로 만든 후, 0.5초 후에
새로운 화면으로 전환한다. Pixellate()
트랜지션 클래스의
객체이다.
move
¶0.5초 동안 이미지의 위치를 바꾼다. MoveTransition()
트랜지션 클래스의
객체이다.
moveinright
¶moveinleft, moveintop, moveinbottom 포함.
0.5초 동안 각 트랜지션에 지정된 위치에서 이미지를 화면으로 들여온다.
moveoutright
¶moveoutleft, moveouttop, moveoutbottom 포함.
0.5초 동안 각 트랜지션에 지정된 위치쪽으로 이미지를 화면에서 내보낸다.
ease
¶easeinright, easeinleft, easeintop, easeinbottom, easeoutright, easeoutleft, easeouttop, easeoutbottom 포함
move 계열 트랜지션과 비슷하나 트랜지션이 시작할 때와 종료할 때 속도가 느려지는 트랜지션이다. 트랜지션 작동 시간이 코사인 커브를 기반으로 하는 트랜지션이다.
zoomin
¶0.5초 동안 이미지를 확대하면서 화면에 표시한다.
zoomout
¶0.5초 동안 이미지를 축소하면서 화면에서 사라지도록 한다.
zoominout
¶0.5초 동안 화면에 표시하려는 이미지는 확대되면서 나타나도록 하며, 화면에서 사라지려는 이미지는 축소하면서 사라지도록 한다.
vpunch
¶0.25초 동안 화면을 세로로 흔든다.
hpunch
¶0.25초 동안 화면을 가로로 흔든다.
blinds
¶1초 동안 세로 방향 블라인드가 걷히고 펼쳐지는 것처럼
화면을 전환한다. ImageDissolve()
트랜지션 클래스의 객체이다.
squares
¶1초 동안 작은 사각형들이 각자 트랜지션을 하면서 화면을 전환한다.
wipeleft
¶wiperight, wipeup, wipedown 포함.
트랜지션에 지정된 방향대로 화면을 닦아낸다.
CropMove()
트랜지션 클래스의 객체이다.
slideleft
¶slideright, slideup, slidedown 포함.
트랜지션에 지정된 방향대로 새로운 화면을 들여온다.
CropMove()
트랜지션 클래스의 객체이다.
slideawayleft
¶slideawayright, slideawayup, slideawaydown 포함
트랜지션에 지정된 방향대로 새로운 화면을 밀어낸다.
CropMove()
트랜지션 클래스의 객체이다.
irisin
¶irisout 포함
사각형의 카메라 조리개처럼 새 화면을 나타내거나 이전 화면을
사라지게 한다. CropMove()
트랜지션 클래스의 객체이다.
트랜지션 클래스는 새로운 트랜지션을 만들 때 호출하는 기능입니다. 이 기능을 호출하면 매개변수를 입력할 수 있게 되며 트랜지션 계열을 전부 만들 수 있게 됩니다.
아래 예에서처럼 with 문에서 트랜지션 클래스를 직접 호출할 수도 있습니다.:
# 무지 긴 디졸브.
with Dissolve(10.0)
같은 트랜지션을 중복해서 호출하는 경우에는 define 문 으로 변수에 트랜지션을 배정해 이용하면 됩니다.:
define annoytheuser = Dissolve(1.0)
label start:
show bg washington
with annoytheuser
AlphaDissolve
(control, delay=0.0, alpha=False, reverse=False)¶(움직임이 있는 트랜스폼을) 제어 디스플레이어블로 사용해 이전 화면에서 새 화면으로 화면 전환을 한다. 트랜스폼은 계산된다. 새 화면은 트랜스폼이 불투명할 때, 그리고 이전 디스플레이어블이 투명도를 가지고 있을 때 사용된다.
ComposeTransition
(trans, before, after)¶세 개의 트랜지션을 조합하는 트랜지션을 반환한다. None이 아니라면 before 와 after 트랜지션이 각각 이전 화면과 새 화면에 적용된다. 이렇게 업데이트된 이전 화면과 새 화면은 trans 트랜지션에 공급된다.
# 디졸브하면서 이미지를 안으로 들였다가 내보낸다.
define moveinoutdissolve = ComposeTransition(dissolve, before=moveoutleft, after=moveinright)
CropMove
(time, mode="slideright", startcrop=(0.0, 0.0, 0.0, 1.0), startpos=(0.0, 0.0), endcrop=(0.0, 0.0, 1.0, 1.0), endpos=(0.0, 0.0), topnew=True)¶장면을 사각형으로 잘라내서 사라지게 하거나 화면에 나타나게 하는 트랜지션을 반환한다. 장면을 사각형 모양으로 잘라내는 식의 트랜지션이라면 무엇이든 구현할 수 있다.
트랜지션 모드의 이름. 트랜지션 모드는 대략 와이프, 슬라이드, 기타, 이 세 가지 그룹으로 나눌 수 있다. "custom" 을 적으면 사용자가 정의한 임의의 모드를 사용할 수 있다.
와이프 모드의 경우에는 이미지는 그대로 고정된 채 트랜지션이 진행됨에 따라 점차 이미지가 나타나게 된다. 예를 들어 "wiperight" 에서는, 이미지를 왼쪽에서 오른쪽으로 닦아낸다. 그러므로 처음에는 이미지의 왼쪽면이 드러나고, 그 다음에는 가운데가 드러나며, 마지막에는 화면 오른쪽에 있는 이미지의 오른면이 나타나게 된다. "wiperight" 외에도 "wipeleft", "wipedown", "wipeup" 를 사용할 수 있다.
슬라이드 모드의 경우에는 이미지가 움직인다. 그러므로 "slideright"에서, 트랜지션이 진행됨에 따라 이미지의 맨 오른쪽 면이 화면 왼쪽 면에서 나타나서 오른쪽으로 점차 옮겨가게 된다. "slideright" 외에도 "slideleft", "slidedown", "slideup" 을 사용할 수 있다.
슬라이드 모드에는 슬라이드어웨이라는 모드도 있는데, 슬라이드와 비슷하나 이전 이미지가 사라지고 그 뒤에 새 이미지를 표시하는 방법을 말한다. 슬라이드어웨이에는 "slideawayright", "slideawayleft", "slideawayup", "slideawaydown" 가 있다.
사각형 카메라 조리개 모양으로 트랜지션을 하는 "irisin" 과 "irisout" 도 사용할 수 있다.
다음의 매개변수는 오직 트랜지션 모드가 "custom"일 때만 사용할 수 있다. 위치값은 화면크기에 비례하는 값이 되며, 크롭의 경우에는 이미지의 크기에 비례하는 값이 된다. 예를 들어 (0.25, 0.0, 0.5, 1.0) 값을 받는 크롭은 이미지의 가운데 부분에서 절반만 받게 된다.
define wiperight = CropMove(1.0, "wiperight")
define wipeleft = CropMove(1.0, "wipeleft")
define wipeup = CropMove(1.0, "wipeup")
define wipedown = CropMove(1.0, "wipedown")
define slideright = CropMove(1.0, "slideright")
define slideleft = CropMove(1.0, "slideleft")
define slideup = CropMove(1.0, "slideup")
define slidedown = CropMove(1.0, "slidedown")
define slideawayright = CropMove(1.0, "slideawayright")
define slideawayleft = CropMove(1.0, "slideawayleft")
define slideawayup = CropMove(1.0, "slideawayup")
define slideawaydown = CropMove(1.0, "slideawaydown")
define irisout = CropMove(1.0, "irisout")
define irisin = CropMove(1.0, "irisin")
Dissolve
(time, alpha=False, time_warp=None)¶이전 장면에서 새 장면으로 천천히 전환하는 트랜지션을 반환한다.
Fade
(out_time, hold_time, in_time, color="#000")¶out_time 초 후에 color 색의 화면으로 서서히 전환하는 트랜지션을 반환한다. hold_time 은 color 색으로 물든 화면에서 몇 초 동안 머무를지를 결정하며 in_time 은 색이 입혀진 화면에서 새 화면으로 전환하는 데 걸리는 시간을 가리킨다.
# 검은 화면으로 페이드아웃했다가 새 화면으로 전환한다.
define fade = Fade(0.5, 0.0, 0.5)
# 검은색 화면에서 잠시 멈춘다.
define fadehold = Fade(0.5, 1.0, 0.5)
# 카메라 플래시 - 순식간에 하얀 화면을 표시했다가 원래 장면으로 돌아간다.
define flash = Fade(0.1, 0.0, 0.5, color="#fff")
ImageDissolve
(image, time, ramplen=8, reverse=False, alpha=True, time_warp=None)¶디졸브 과정을 제어하는 이미지를 사용하여 이전 장면에서 새 장면으로 디졸브하는 트랜지션을 반환한다. 하얀 픽셀이 가장 먼저 디졸브되며 검은 픽셀은 마지막에 디졸브된다.
define circirisout = ImageDissolve("circiris.png", 1.0)
define circirisin = ImageDissolve("circiris.png", 1.0, reverse=True)
define circiristbigramp = ImageDissolve("circiris.png", 1.0, ramplen=256)
MoveTransition
(delay, enter=None, leave=None, old=False, layers=['master'], time_warp=None, enter_time_warp=None, leave_time_warp=None)¶이전 장면과 새 장면에서 같은 이미지 태그를 사용하는 이미지의 위치를 보간하는 트랜지션을 반환한다.
MultipleTransition
(args)¶차례로 여러 개의 트랜지션을 나타내는 트랜지션을 반환한다.
홀수개의 항목을 가진 리스트. 홀수 번째 항목은 장면이어야 하며, 짝수 번째 항목은 트랜지션이어야 한다. 여기서 사용하는 장면이라는 것은 다음 중 하나이어야 한다:
보통 첫 번째 인수는 False이며 마지막 인수는 True를 사용한다.
args 리스트에 있는 트랜지션은 적혀있는 순서대로 적용된다. 이전 장면은 트랜지션이 발생하기 전에 있던 화면이며, 새 장면은 트랜지션 뒤에 있는 화면이다. 예를 들어:
define logodissolve = MultipleTransition(
False, Dissolve(0.5)
"logo.jpg", Pause(1.0),
"logo.jpg", dissolve,
True)
위의 예제에서는 logo.jpg로 디졸브한 후, 1초 동안 정지해있다가 새로운 화면으로 디졸브한다.
Pause
(delay)¶delay 초만큼 새로운 화면을 표시하는 트랜지션을 반환한다. MultipleTransition 에 쓰면 유용하게 사용할 수 있다.
Pixellate
(time, steps)¶이전 화면을 픽셀로 만들어 흐릿하게 바꾸었다가 새 화면으로 전환하는 트랜지션을 반환한다.
트랜지션 계열은 서로 비슷한 기능을 하는 트랜지션 묶음을 정의하는 함수입니다.
define.
move_transitions
(prefix, delay, time_warp=None, in_time_warp=None, out_time_warp=None, old=False, layers=['master'], **kwargs)¶move, ease 와 비슷하게 작동하는 move 트랜지션 계열을 정의한다. prefix 에서 받은 값에 따라 트랜지션을 다음과 같이 정의한다:
0.0에서 1.0까지의 범위 내에서 이동이 완료하는 데까지 걸리는 시간에 대한 분수값을 나타낸다. 이미 완료한 선형 이동에 걸린 시간을 0.0에서 1.0 범위에 있는 비율값으로 만들어 반환한다.
트랜지션 진행시간에 비례하는 속도로 이미지를 움직이는 대신에 이동 속도가 가속되었다가 감속되는 등의 함수를 정의하는 데 사용할 수 있다.
각 인수는 각각 화면에 남아있는 이미지, 새로 나타난 이미지, 새로 사라진 이미지에 적용된다.
# "move"로 시작하는 모든 기본 트랜지션을
# 정의한다.
init python:
define.move_transitions("move", 0.5)