马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
或許你在調試的時候已經發現了Ren'Py編寫的游戲是可以同時運行多個的,甚至連Ren'Py引擎自身也是可以并發多個來運行的,效果如圖。
能夠多開的Ren'Py介面
當然這在一般情況之下不會有什麽大問題,但是較爲專業的使用者就會瞭解到這樣很容易誘發檔案重寫入甚至是綫程爭用問題,例如兩個視窗同時選擇保存到同一個檔案位置,或者阻塞同一個綫程資源,這樣不僅會降低游戲體驗更爲嚴重的是會造成游戲不夠問題甚至發生游戲自身檔案損壞情況。
不過遺憾的是目前爲止Ren'Py官方并未提供有關的屬性變量或者是可以直接叫用的方法來防止這一情況。不過值得高興的是Python可以實現這一點,而且相對較爲輕鬆。此方法需要一個外部引用檔案(當然也可以内嵌):singleton.py,裏面包含了若干類和字段,具體内容可自行參看内容,而且本人也添加了許多注釋以使對Python沒有深入瞭解的人來閲讀。可以看出此方案是通過建立一個臨時檔案來判斷游戲的運行狀態的。實現方式有些類似C#的互斥,只不過不是基於綫程的而是基於檔案的而已。
|