บทความสอนกราฟิก

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 2533|ตอบกลับ: 0

[Renpy] 49. Keyboard & Mouse Event

[คัดลอกลิงก์]

272

กระทู้

272

โพสต์

979

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
979
rollback_01.png
[Renpy]  49. Keyboard & Mouse Event

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

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

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

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

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

  1. config.rollback_enabled = False #<-----ถ้ากำหนดเป็น True คืออนุญาตให้ผู้เล่นสามารถย้อนกลับได้
  2. 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' ],


ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|GraphicFUFU

GMT+7, 2024-5-6 03:08 , Processed in 0.089295 second(s), 32 queries .

Powered by Discuz! X3.4 R20180101, Rev.59

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้