목차

이전 항목

업데이트 기록

다음 항목

배포자의 기록

링크


원문 보러 가기
오역 신고하기
Created using Sphinx.

호환 불가능한 변경점

다음 목록은 각 버전별 스크립트나 개발 환경을 바꾸어야 할 만한 버전 별 변경점이 적혀 있습니다. 렌파이는 사용자가 새 버전에서 게임을 개발할 때에도 이전 버전에 맞춰 작성된 게임 스크립트에 영향을 끼치지 않는 방향으로 개발되고 있습니다.

config.script_version 값을 바꾸면 최근에 추가된 기능을 이용할 수는 없으나, 변경점들을 원상복구할 수 있습니다.

6.99.2

렌파이는 앞으로 이미지를 찾기 위해 game 폴더 안에 있는 images 폴더를 검색하며, 파일 이름을 기준으로 이미지를 정의합니다. 이 작동을 비활성화하려면 다음 코드를 사용하세요.:

init python:
    config.image_directory = None

6.18

show screencall screen 명령문은 인수를 스크린 예측 과정의 일부로써 계산합니다. 스크린에 사용되는 인수를 계산했을 때 부작용이 발생한다면 show screen 혹은 call screen 명령문에 nopredict 절을 입력해 예측을 방지해야 합니다.

스크린은 이제 트랜지션에 참여합니다. 트랜지션은 이제 스크린의 이전 상태에서 새로운 상태로 진입합니다. 이 작동을 비활성화 하려면 config.transition_screens 를 거짓으로 설정하세요.

렌파이는 어떤 스크린이 같은 태그가 지정된 다른 스크린으로 교체될 때 스크린의 상태를 전달하기 위해 구조적 동등성을 더 이상 사용하지 않습니다(예를 들어 트랜스폼의 상태 등). 대신, use 문id 속성을 지원해, 상태를 전송할 때 이를 사용할 수 있게 되었습니다.

6.16

MusicRoom() 에서 사용되는 loop 매개 변수의 의미가 변경되었습니다. 이전 작동 방식을 이용하려면 loopsingle_track 을 참으로 설정하세요.

6.14

이전버전에서는 아카이브한 파일을 archived/directory 로 옮겨, 게임을 시작하거나 아카이브 파일을 만들 때 자동으로 해당 경로를 검색했습니다. 새 버전에서는 이 과정이 필요 없기때문에 archived 폴더 에 있는 파일은 모두 게임 디렉토리로 옮겨놓습니다.

MoveTransition() 의 인터페이스가 바뀌었습니다. 코드를 수정하지 않는 한 이전 버전에서 사용하던 MoveTransition 은 이제 OldMoveTransition 으로 이용해야 합니다. (이 변경점때문에 문제가 발생하는 경우는 MoveTransition 과 팩토리를 함께 사용할 때 뿐입니다.)

Transform() 기능이 비대칭적으로 크기가 바뀌거나 회전된 이미지를 다루는 방법이 달라졌습니다. 아무래도 이전에 사용한 방식은 이용된 적이 없는 것 같습니다.

6.13.8

변수를 텍스트로 나타낼 때 이전 방식 ( %()s )도 기본적으로 사용할 수 있도록 수정하였습니다. 6.13 이나 6.13.7 버전을 쓰면서 say 문이나 menu 문에 % 기호를 적었다면 %%로 고치거나 아래 코드를 사용하세요.:

init python:
    config.old_substitutions = False

6.13

이번 버전에서는 텍스트 동작 방식이 많이 바뀌어서 게임 개발에 영향을 미치는 부분이 많습니다. 가장 큰 변경점은 변수를 텍스트로 나타내는 방식이 바뀌었다는 점입니다. 이번 버전부터는 퍼센트기호(%)대신 대괄호([])로 변수를 삽입합니다. 아래처럼 코드를 적으면 6.12.1 이하 버전에서처럼 변수 삽입 방식을 바꿀 수 있습니다.

init python:
    config.old_substitutions = True
    config.new_substitutions = False

두 변수를 True 로 설정하면 대괄호 방식과 퍼센트 방식을 동시에 사용할 수 있습니다.

기본 라인 래핑 방식도 바뀌었습니다. 새 방식은 한 문단 안에 포함되는 줄 수를 증가시키지 않아서 단어 끊는 방식이 바뀔지도 모릅니다. 이전 방식으로 바꾸려면 다음 코드를 더하세요.

init python:
    style.default.layout = "greedy"
    style.default.language = "western"

6.12.1

이미지 이름이 이미지 속성에 중점을 두도록 변경되었습니다. 이전에는 명확했던 이미지 이름이 패치 이후에는 불명확하게 바뀔 수도 있으니 이미지 속성 중심의 이미지 이름을 사용하지 않으려면 config.image_attributes 를 False로 설정하세요.

ATL이나 트랜스폼이 없는 이미지를 표시할 때 해당 이미지가 사용했던 트랜스폼을 계속해서 사용하도록 수정되었습니다. 예를 들어 이미지가 위치를 바꾸도록 트랜스폼을 적용했다면 새로 표시할 이미지도 계속해서 위치를 바꾸게 되니 이를 원치 않으면 config.keep_running_transform 를 False 로 설정하세요.

Character() 에서 사용하던 image 인수의 의미가 달라졌습니다. 이전에는 스크린 언어에서 작동하지 않았지만 어쨌든 호환성을 복원하기 위해 작동 방식을 이전처럼 돌려놓고 싶다면 config.new_character_image_argument 를 False로 설정하세요.

6.12.0

  • Choicenvl_choice 스크린에서 사용하는 items 매개변수의 정의가 변경되었습니다. NVL 스크린에서 선택지도 함께 표시하도록 바뀌어서 nvl_choice 스크린은 사용할 이유가 없어졌습니다.
  • predict 속성이 False가 아니라면 렌파이는 이제 스크린에 사용될 이미지를 예측하므로, 스크린은 언제 어느 때라도 호출될 수 있습니다. predict 속성이 False 일 때는 스크린을 처음 표시할 때 느리게 표시된다던지 하는 부작용이 발생할 수 있습니다.
  • ImageReference 의 위치 속성이 무시됩니다. 따라서 style.image_placement 의 위치 속성도 무시됩니다. 이는 렌파이의 동작 성능을 향상시키기 위한 조치로, 이전 버전의 동작 방식으로 바꾸고 싶다면 config.imagereference_respects_position 을 True 로 설정하세요.

6.11.1

  • MoveTransition이 움직이는 디스플레이어블의 xoffset과 yoffset 매개변수를 고려하도록 수정되었습니다. 이동에 사용되는 팩토리 함수는 이제 xoffsetyoffset 매개변수를 취합니다. 렌파이에 미리 지정된 이동 팩토리들은 이 매개변수를 문제 없이 취합니다만, 사용자가 정의한 팩토리는 업그레이드가 필요할 수도 있으며, 이 매개변수를 무시할 수도 있습니다.

6.11.0

  • The transform specified by the config.default_transform 변수에 의해 특정된 트랜스폼은 show 나 hide 문을 사용하여 표시된 이미지의 트랜스폼 속성을 초기화하는 데 사용된다. 이 트랜스폼의 기본값은 xposxanchor 를 0.5로 설정하며, ypos and yanchor 는 1.0로 설정한다.

    이는 해당 스타일 속성의 기본값이 원래 초기화되지 않았던 것, 그러니까 0 이었던 것을 변경되었다는 것을 뜻한다.

    reset 트랜스폼을 ATL 트랜스폼에 추가하면, 이 속성들이 0으로 재설정된다. 다음과 같은 코드를 이용하면 기본 트랜스폼 사용을 그만두고, 이전 작동 방식을 복원할 수 있다:

    init python:
        style.image_placement.xpos = 0.5
        style.image_placement.ypos = 1.0
        style.image_placement.xanchor = 0.5
        style.image_placement.yanchor = 1.0
    
        config.default_transform = None
    
  • 만일 트랜스폼이 xpos, ypos, xanchor, yanchor 중 하나를 정의하지 않는다면 해당 속성은 트랜스폼의 하위 디스플레이어블에서 취합니다.

    이는 한 트랜스폼이 디스플레이어블의 세로 방향 움직임을 제어할 수 있도록 하며, 다른 트랜스폼은 가로 방향 움직임을 제어할 수 있도록 합니다. 하지만 이것은 이전 버전의 동작과는 호환하지 않으므로, config.transform_uses_child_position 변수를 이용하면 이를 비활성화시킬 수 있습니다

    init python:
        config.transform_uses_child_position = False
    

6.10.0

  • 기본 위치값 (left, right, center, truecenter, offscreenleft, offscreenright) 이 ATL 트랜스폼으로 정의되었습니다. 이로 인해 위와 같은 위치에 이미지를 표시하면 해당 위치가 저장돼서 재사용될 수 있습니다. 이런 방식으로 작동하길 원하지 않는다면, 아래의 코드를 추가하여 위치값을 재설정 하세요:

    define left = Position(xalign=0.0)
    define center = Position(xalign=0.5)
    define truecenter = Position(xalign=0.5, yalign=0.5)
    define right = Position(xalign=1.0)
    define offscreenleft = Position(xpos=0.0, xanchor=1.0)
    define offscreenright = Position(xpos=1.0, xanchor=0.0)
    

6.9.2

  • 게임을 6.9.2 버전이나 그 이후 버전으로 변경하려면, 해당 게임의 디렉토리를 프로젝트 디렉토리로 옮기세요. 런처에서 Option > Projects Directory 를 클릭하면 프로젝트 디렉토리를 선택할 수 있습니다. 이전 버전에서 새 버전으로 옮기고 싶다면 렌파이 6.9.2의 배포 공지 를 살펴보세요.