nooknazha โพสต์ 2018-6-29 22:12:54

[Renpy] 49. Keyboard & Mouse Event


49. Keyboard & Mouse Event

ในโปรแกรม renpy เม้าส์จะถือเป็นอีกอุปกรณ์หนึ่งที่มีความจำเป็นในการเล่นเกมส์ขณะที่ผู้เล่น เล่นเกมส์ตามเนื้อเรื่องเกมส์ไปเรื่อยๆ ผู้เล่นสามารถใช้เม้าส์ได้ 4แบบคือ

1. คลิกซ้าย =เป็นการไปยังบทสนทนาต่อไป
2. คลิกขวา =เป็นกดคีย์ลัด สำหรับเรียกหน้าจอ Save/Load
3. การเลื่อนลูกกลิ้งเม้าส์ขึ้น= เป็นการย้อนกลับไปยังประโยคสนทนาก่อนหน้า หรือช้อยคำถามก่อนหน้า และ
4. การเลื่อนลูกกลิ้งเม้าส์ลง= เป็นการเลื่อนกลับมายังข้อความปัจจุบัน ที่ผู้เล่นๆถึง

จากลักษณะการใช้งานเม้าส์ข้างบนเราจะเห็นข้อบกพร่องว่า การเลื่อนลูกกลิ้งเม้าส์ขึ้น =เป็นการย้อนกลับไปยังประโยคสนทนาก่อนหน้า หรือ ช้อยคำถามก่อนหน้าซึ่งถ้าผู้เล่นหัวใสเกิดเลือกคำตอบที่ผิด เค้าก็จะสามารถเลื่อนลูกกลิ้งเม้าส์ขึ้นเพื่อย้อนกลับไปสุ่มเลือกคำตอบที่ถูกต้องใหม่ได้ไม่กำจัดครั้ง!!!!

ในกรณีที่เราไม่ต้องการให้ผู้เล่นสามารถย้อนกลับไปอ่านหรือเลือกช้อยคำถามก่อนหน้าได้อีก เราสามารถทำการบล๊อคการย้อนกลับได้ค่ะ

โดยให้ใส่โค๊ดบล๊อคกันการย้อนกลับได้ที่ ไฟล์ Options.rpy ดังนี้ค่ะ

config.rollback_enabled = False #<-----ถ้ากำหนดเป็น True คืออนุญาตให้ผู้เล่นสามารถย้อนกลับได้
config.hard_rollback_limit = config.rollback_length
ตัวอย่างการใส่โค๊ด:

นอกจากนี้ในโปรแกรม renpy ยังมีคีย์ลัดอีกหลายตัวเช่น

***ถ้า Kนำหน้า หมายถึง กดปุ่มแป้นคีย์บอร์ด
***ถ้า joyนำหน้าหมายถึง กดปุ่ม joy ควบคุม

CODE:
# The keymap that isused to change keypresses and mouse events.
keymap = dict(
   
    # Bindings present almost everywhere, unless explicitly
    # disabled.
    rollback = [ 'K_PAGEUP', 'mousedown_4', 'joy_rollback' ],
    screenshot = [ 's' ],
    toggle_fullscreen = [ 'f', 'alt_K_RETURN', 'alt_K_KP_ENTER','K_F11' ],
    toggle_music = [ 'm' ],
    game_menu = [ 'K_ESCAPE', 'mouseup_3', 'joy_menu' ],
    hide_windows = [ 'mouseup_2', 'h', 'joy_hide' ],
    launch_editor = [ 'E' ],
    dump_styles = [ 'Y' ],
    reload_game = [ 'R' ],
    inspector = [ 'I' ],
    developer = [ 'D' ],
    quit = [ 'meta_q', 'alt_K_F4', 'alt_q' ],
    iconify = [ 'meta_m', 'alt_m' ],
    help = [ 'K_F1', 'meta_shift_/' ],
   
    # Say.
    rollforward = [ 'mousedown_5', 'K_PAGEDOWN' ],
    dismiss = [ 'mouseup_1', 'K_RETURN', 'K_SPACE', 'K_KP_ENTER','joy_dismiss' ],

    # Pause.
    dismiss_hard_pause = [ ],
   
    # Focus.
    focus_left = [ 'K_LEFT', 'joy_left' ],
    focus_right = [ 'K_RIGHT', 'joy_right' ],
    focus_up = [ 'K_UP', 'joy_up' ],
    focus_down = [ 'K_DOWN', 'joy_down' ],
      
    # Button.
    button_ignore = [ 'mousedown_1' ],
    button_select = [ 'mouseup_1', 'K_RETURN', 'K_KP_ENTER','joy_dismiss' ],

    # Input.
    input_backspace = [ 'K_BACKSPACE' ],
    input_enter = [ 'K_RETURN', 'K_KP_ENTER' ],

    # Viewport.
    viewport_up = [ 'mousedown_4' ],
    viewport_down = [ 'mousedown_5' ],
    viewport_drag_start = [ 'mousedown_1' ],
    viewport_drag_end = [ 'mouseup_1' ],
   
    # These keys control skipping.
    skip = [ 'K_LCTRL', 'K_RCTRL', 'joy_holdskip' ],
    toggle_skip = [ 'K_TAB', 'joy_toggleskip' ],
    fast_skip = [ '>' ],

    # These control the bar.
    bar_activate = [ 'mousedown_1', 'K_RETURN', 'K_KP_ENTER','joy_dismiss' ],
    bar_deactivate = [ 'mouseup_1', 'K_RETURN', 'K_KP_ENTER','joy_dismiss' ],
    bar_decrease = [ 'K_LEFT', 'joy_left' ],
    bar_increase = [ 'K_RIGHT', 'joy_right' ],

    # Delete a save.
    save_delete = [ 'K_DELETE' ],

    # Draggable.
    drag_activate = [ 'mousedown_1' ],
    drag_deactivate = [ 'mouseup_1' ],

หน้า: [1]
ดูในรูปแบบกติ: [Renpy] 49. Keyboard & Mouse Event