Ren’Pyでリアルタイムプレビューらしきもの

 Lightvnその他のリアルタイムプレビュー機能のあるエンジンが流行っているのでRen’Pyでも試しにやってみました。

https://github.com/kyouryuukunn/RenPy_Editor_interaction

 やっていることは単純です。エディター側ではのカーソルが動くたびに一時ファイルに現在行にワープする関数”renpy.warp_to_line(‘<現在ファイル>:<現在行>’)”を保存するよう設定します。Ren’Py側ではそのファイルの更新時間を監視して更新されていればファイル内の関数を実行します。

 これで現在カーソルがある場所にRen’Pyがワープをし続けます。ワープを酷使しているだけですが、思いのほかスムーズに動いています。ファイルの多い実際のプロジェクトでどこまで重くなるかがキモですが、手元にサンプルがないので実験はできません。 また、オートリロードを使用すればファイルを編集、保存で結果を反映してくれます。リロードが一瞬で終わるわけではないので本当のリアルタイムプレビューとはいきませんが、必要十分な速度かと思います。

 リアルタイムプレビューできると見た目が華やかで便利そうなんですが、Ren’Pyの場合ロールバックができるので、あまりリアルタイムプレビューの必要性感じないです。わざわざエディターでジャンプできるようにしなくてもコマンドから該当行にワープして編集、保存、ロールバックの繰り返しでいいのでないかな。

 ちなみにあまり使っている人がいなそうな機能でRen’Pyにはインタラクションエディターというのもあります。開発者メニューから開いて、マウスクリックで画像の表示非表示、BGM追加等ができます。シナリオを先に作ってからゲームを起動しながらアセットを追加していく用途を想定しているのだと思いますが、GUIから編集したい人にはいいかと思います。

Pocket