[Renpy] 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' ],
|