Renpy 禁止用戶和界面交互的方法
這個(gè)方法有一些潛在的問題。
最新代碼:https://www.renpy.cn/forum.php?mod=viewthread&tid=1236
更新代碼如下:
這篇文章會(huì)講下如何在在游戲中禁止用戶和界面交互,以及暫時(shí)禁止快捷鍵的辦法。
在有些時(shí)候變換不希望被用戶打斷,或者變幻在界面上面演出,不希望用戶再按界面的按鈕。在這些情況下,需要讓用戶暫時(shí)不能和界面交互。
在論壇搜索之后發(fā)現(xiàn)了這個(gè)帖子:
https://lemmasoft.renai.us/forums/viewtopic.php?t=32309
下面是一個(gè)實(shí)例的代碼。
不希望打斷的轉(zhuǎn)場(chǎng),放在eyecatch這個(gè)屏幕里面,然后設(shè)定轉(zhuǎn)場(chǎng)是10s。
除此之外,有些快捷鍵我們也想在一些界面禁止。比如快進(jìn)(skip),隱藏界面,esc鍵呼出主菜單等。
關(guān)于定制按鍵映射可以看文檔的這里:
https://www.renpy.cn/doc/keymap.html
我的實(shí)現(xiàn)例子
_game_menu_screen 是按esc鍵會(huì)出現(xiàn)的界面,默認(rèn)是存檔界面,這個(gè)也可以自己寫個(gè)界面替換。
是否可以快進(jìn)這個(gè)變量,可以在存儲(chǔ)區(qū)配置項(xiàng)的文檔中找到,里面還有很多別的有用的配置項(xiàng),比如是否可以回滾。
https://www.renpy.cn/doc/store_variables.html#var-_autosave
最后是_windows_hidden 這個(gè)變量,是一個(gè)文檔里都沒有提到,搜索都搜不到的變量。最近在接一個(gè)游戲制作的外包,對(duì)方制作人要求在一個(gè)界面禁用隱藏界面。因?yàn)橛螒虮緛砭褪墙缑娼换ィ峭婕也恍⌒陌吹搅?,結(jié)果界面沒有怎么辦。嘗試通過修改按鍵映射,以及在界面賦予按鍵新的功能來解決,但是都不行。對(duì)方制作人提出可以用這個(gè)變量,他是看common文件夾里的00keymap.rpy這個(gè)文件的具體代碼得知這個(gè)變量的。
具體代碼如下
可以看到如果這個(gè)_windows_hidden是True的話,就不會(huì)執(zhí)行下面的語句了,從而達(dá)到了禁止的效果。