이전 항목

스프라이트

다음 항목

개발자용 도구

링크


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

단축키 설정하기

config.keymap 변수에는 이벤트 이름과 해당 이벤트를 발생시키는 키 심볼이 대응된 구조식이 포함되어 있습니다.

주석

이미 많은 플레이어들이 렌파이의 기본 단축키가 무엇인지 알고 있기 때문에, 렌파이로 만들어진 게임마다 동일하게 작동한다고 생각합니다.

렌파이에서 키 심볼은 마우스 버튼, 조이패드 버튼, 키보드 키를 대표하는 문자열 입니다.

마우스 버튼은 'mouseup_#' 또는 'mousedown_#' 과 같은 형태이며 여기에서 #은 버튼의 숫자입니다. 렌파이는 마우스에 버튼이 다섯 개 있다고 가정합니다. 1, 2, 3은 각각 왼쪽, 가운데, 오른쪽 버튼을 뜻하고, 4, 5는 마우스휠을 올리거나 내릴 때를 나타냅니다. 예를 들어, "mousedown_1" 은 왼쪽 버튼을 누르는 것이고, "mouseup_1" 은 왼쪽 마우스 버튼을 놓는 것이고, "mousedown_4"는 마우스 휠을 위로 굴리는 것입니다.

키보드 키심볼에는 두 가지 종류가 있습니다. 첫 번째는 어떤 키를 눌렀을 때 만들어지는 글자가 적힌 문자열입니다. 이런 키 심볼은 알파벳 키나 숫자를 단축키로 지정할 때 유용할 것입니다. 예로 "a", "A", "7" 등이 있습니다.

키보드의 키 심볼로 키를 상징하는 이름을 입력할 수도 있습니다. 이 때에는 pygame.constants 에서 따온 "K_" 가 키 이름 앞에 붙습니다. 이런 키 심볼은 "K_BACKSPACE", "K_RETURN", "K_TAB" 과 같은 형태입니다. 전체 키 심볼은 이 곳 에서 확인할 수 있습니다.

키보드 키 심볼 앞에는 다음과 같은 접두사를 언더바(_)와 함께 붙여 나타낼 수 있습니다.:

alt
알트 키가 눌린 경우에 연결시킵니다. 알트 키가 눌리지 않았을 때에는 이 접두사가 없는 키 심볼을 연결시킵니다.
meta
메타, 커맨드, 윈도우 키가 눌린 경우에 연결시킵니다. 메타, 커맨드, 윈도우 키가 눌리지 않았을 때에는 이 접두사가 없는 키 심볼을 연결시킵니다.
ctrl
컨트롤 키가 눌린 경우에 연결시킵니다. 컨트롤 키가 눌리지 않았을 때에는 이 접두사가 없는 키 심볼을 연결시킵니다. (컨트롤 키는 유용하지 않습니다. 이 키가 눌렸을 때에는 게임을 스킵하기 때문입니다. )
shift
시프트 키가 눌린 경우에 연결시킵니다.
noshift
시프트 키가 눌리지 않은 경우에 연결시킵니다. K_ 가 붙은 키 심볼은 키를 매칭시킬 때 시프트 키의 상태를 무시한다.
repeat
키가 눌린 상태라서 키 입력이 반복될 경우에 연결시킵니다. 어느 키가 반복적으로 눌리지 않았을 때에는 이 접두사가 없는 키 심볼을 연결시킵니다.

예를 들어 "shift_alt_K_F5" 라는 키 심볼은 시프트 키와 알트 키가 눌린 상태에서 F5 키를 누르고 있을 때 연결될 것입니다.

단축 키를 바꾸기 위해서는 config.keymap 변수에 저장된 리스트 가운데 적절한 리스트를 변경하세요. 아래에 적힌 코드는 대사를 넘기는 키 중에서 스페이스 키를 제거하고 't' 키를 추가합니다.

init:
    $ config.keymap['dismiss'].append('t')
    $ config.keymap['dismiss'].remove('K_SPACE')

기본 단축키 구조는 renpy/common/00keymap.rpy 파일에 지정되어 있으며, 6.99 버전에서는 다음과 같습니다.:

config.keymap = dict(

    # 명시적으로 비활성화 하지 않는 이상 단축키는
    # 언제나 동작한다.
    rollback = [ 'K_PAGEUP', 'repeat_K_PAGEUP', 'K_AC_BACK', 'mousedown_4'],
    screenshot = [ 's' ],
    toggle_fullscreen = [ 'f', 'alt_K_RETURN', 'alt_K_KP_ENTER', 'K_F11' ],
    game_menu = [ 'K_ESCAPE', 'K_MENU', 'mouseup_3'],
    hide_windows = [ 'mouseup_2', 'h'],
    launch_editor = [ 'E' ],
    dump_styles = [ ],
    reload_game = [ 'R' ],
    inspector = [ 'I' ],
    full_inspector = [ 'alt_I' ],
    developer = [ 'D' ],
    quit = [ ],
    iconify = [ ],
    help = [ 'K_F1', 'meta_shift_/' ],
    choose_renderer = [ 'G' ],
    progress_screen = [ 'alt_P' ],

    # 접근성
    self_voicing = [ 'v', 'V' ],
    clipboard_voicing = [ 'C' ],

    # Say 관련.
    rollforward = [ 'mousedown_5', 'K_PAGEDOWN', 'repeat_K_PAGEDOWN' ],
    dismiss = [ 'mouseup_1', 'K_RETURN', 'K_SPACE', 'K_KP_ENTER'],

    # Pause 관련.
    dismiss_hard_pause = [ ],

    # Focus 관련.
    focus_left = [ 'K_LEFT', 'repeat_K_LEFT'],
    focus_right = [ 'K_RIGHT', 'repeat_K_RIGHT'],
    focus_up = [ 'K_UP', 'repeat_K_UP'],
    focus_down = [ 'K_DOWN', 'repeat_K_DOWN'],

    # Button 관련.
    button_ignore = [ 'mousedown_1' ],
    button_select = [ 'mouseup_1', 'K_RETURN', 'K_KP_ENTER'],
    button_alternate = [ 'mouseup_3' ],
    button_alternate_ignore = [ 'mousedown_3' ],

    # Input 관련.
    input_backspace = [ 'K_BACKSPACE', 'repeat_K_BACKSPACE' ],
    input_enter = [ 'K_RETURN', 'K_KP_ENTER' ],
    input_left = [ 'K_LEFT', 'repeat_K_LEFT' ],
    input_right = [ 'K_RIGHT', 'repeat_K_RIGHT' ],
    input_delete = [ 'K_DELETE', 'repeat_K_DELETE' ],

    # Viewport 관련.
    viewport_up = [ 'mousedown_4' ],
    viewport_down = [ 'mousedown_5' ],
    viewport_drag_start = [ 'mousedown_1' ],
    viewport_drag_end = [ 'mouseup_1' ],

    # 스킵을 제어하는 키들.
    skip = [ 'K_LCTRL', 'K_RCTRL'],
    toggle_skip = [ 'K_TAB'],
    fast_skip = [ '>' ],

    # Bar 관련.
    bar_activate = [ 'mousedown_1', 'K_RETURN', 'K_KP_ENTER'],
    bar_deactivate = [ 'mouseup_1', 'K_RETURN', 'K_KP_ENTER'],
    bar_left = [ 'K_LEFT', 'repeat_K_LEFT'],
    bar_right = [ 'K_RIGHT', 'repeat_K_RIGHT'],
    bar_up = [ 'K_UP', 'repeat_K_UP'],
    bar_down = [ 'K_DOWN', 'repeat_K_DOWN'],

    # 세이브 파일을 제거한다.
    save_delete = [ 'K_DELETE' ],

    # Drag 관련.
    drag_activate = [ 'mousedown_1' ],
    drag_deactivate = [ 'mouseup_1' ],

    # 디버그 콘솔.
    console = [ 'shift_O' ],
    console_older = [ 'K_UP', 'repeat_K_UP' ],
    console_newer = [ 'K_DOWN', 'repeat_K_DOWN'],

    # 사용하지 않음. (이전 버전과의 호환성을 위해 남겨둠).
    toggle_music = [ 'm' ],

    # Profile 명령.
    profile_once = [ 'K_F8' ],
    memory_profile = [ 'K_F7' ],

    )

게임패드 단축키는 조금 다른 방식으로 작동합니다. 게임패드는 게임패드 이벤트를 렌파이 이벤트 이름에 하나 이상 매핑하는 것으로 작동합니다. 기본 게임패드 단축키 세트는 다음과 같습니다.:

config.pad_bindings = {
    "pad_leftshoulder_press" : [ "rollback", ],
    "pad_lefttrigger_pos" : [ "rollback", ],
    "pad_back_press" : [ "rollback", ],

    "pad_guide_press" : [ "game_menu", ],
    "pad_start_press" : [ "game_menu", ],

    "pad_y_press" : [ "hide_windows", ],

    "pad_rightshoulder_press" : [ "rollforward", ],

    "pad_righttrigger_pos" : [ "dismiss", "button_select" ],
    "pad_a_press" : [ "dismiss", "button_select" ],
    "pad_b_press" : [ "button_alternate" ],

    "pad_dpleft_press" : [ "focus_left", "bar_left" ],
    "pad_leftx_neg" : [ "focus_left", "bar_left" ],
    "pad_rightx_neg" : [ "focus_left", "bar_left" ],

    "pad_dpright_press" : [ "focus_right", "bar_right" ],
    "pad_leftx_pos" : [ "focus_right", "bar_right" ],
    "pad_rightx_pos" : [ "focus_right", "bar_right" ],

    "pad_dpup_press" : [ "focus_up", "bar_up" ],
    "pad_lefty_neg" :  [ "focus_up", "bar_up" ],
    "pad_righty_neg" : [ "focus_up", "bar_up" ],

    "pad_dpdown_press" : [ "focus_down", "bar_down" ],
    "pad_lefty_pos" : [ "focus_down", "bar_down" ],
    "pad_righty_pos" : [ "focus_down", "bar_down" ],
}