スクリーンショット link
Ren'Py には、ゲームやゲーム内の displayable のスクリーンショットを撮る組み込み機能があります。後者はアバタークリエーターなど、複数の displayable で作られた「紙人形」を作成し、プレイヤーが後で使用するためにディスクに保存するのに適しています。
Ren'Py が画面全体または Displayable のスクリーンショットを撮ると、ウィンドウスケーリングと高 DPI 調整が適用された後、描画可能なサイズでスクリーンショットが撮影されます。これは通常、そのアセットのネイティブ サイズではなく、ユーザーが見ているまたは見ようとしているものをキャプチャします。
デフォルトでは、スクリーンショットのキャプチャは s キーにバインドされます。
スクリーンショット関連のアクションと画面機能がいくつかあります。
Functions link
スクリーンショットを撮るために使用できる関数もあります。
- renpy.render_to_file(d, filename, width=None, height=None, st=0.0, at=None, resize=False) link
Displayable または Render をレンダリングし、そのレンダリングの結果をファイルに保存します。レンダリングは Ren'Py の表示システムによって実行され、ウィンドウがアップスケールされると、レンダリングもアップスケールされます。
- d
レンダリングする Displayable または Render です。 Render の場合、 width, height, st および at は無視されます。
- filename
レンダリングを保存するファイル名の文字列です。これは、ベースディレクトリからの相対パスとして解釈されます。これは .png で終わらなければなりません。
- width
仮想ピクセルで d に提供する幅です。None の場合、
config.screen_width
です。- height
仮想ピクセルで d に提供する高さです。None の場合、
config.screen_height
です。- st
出現時間軸でのレンダリング時間。
- at
アニメーション時間軸でレンダリング時間。 None の場合、 st が使用されます。
- resize
True の場合、イメージは displayable または render の仮想サイズにサイズ変更されます。これにより、結果の品質が低下する可能性があります。
この関数は Ren'Py の表示システムが起動した後にのみ呼び出せるため、初期化フェーズ中や最初のインタラクション前に呼び出せません。
Ren'Py はゲームの実行中にファイルを再スキャンしないので、ゲームの一部に使用されるアセットを合成するために使用しないでください。
- renpy.render_to_surface(d, width=None, height=None, st=0.0, at=None, resize=False) link
これは、 displayable または Render を受け取り、 pygame_sdl2 サーフェスを返します。レンダリングは Ren'Py の表示システムによって実行され、ウィンドウがアップスケールされると、レンダリングもアップスケールされます。
- d
レンダリングする Displayable または Render です。 Render の場合、 width, height, st および at は無視されます。
- width
仮想ピクセルで d に提供する幅です。None の場合、
config.screen_width
です。- height
仮想ピクセルで d に提供する高さです。None の場合、
config.screen_height
です。- st
出現時間軸でのレンダリング時間。
- at
アニメーション時間軸でレンダリング時間。 None の場合、 st が使用されます。
- resize
True の場合、サーフェスは displayable または render の仮想サイズにサイズ変更されます。これにより、結果の品質が低下する可能性があります。
この関数は Ren'Py の表示システムが起動した後にのみ呼び出せるため、初期化フェーズ中や最初のインタラクション前に呼び出せません。
- renpy.screenshot(filename) link
filename でスクリーンショットを撮ります。
スクリーンショットが保存されれば True を、何らかの理由で失敗すれば False を返します。
config.screenshot_pattern
と_screenshot_pattern
変数はスクリーンショットが保存されるファイルを制御します。
- renpy.screenshot_to_bytes(size) link
im.Data() に渡されるバイトオブジェクトとしてスクリーンショットを返します。バイトオブジェクトは以下のように png フォーマットの画像です。
$ data = renpy.screenshot_to_bytes((640, 360)) show expression im.Data(data, "screenshot.png"): align (0, 0)
上記は画像を表示します。返されたバイトオブジェクトはセーブファイルと永続データに保存できますが、これらは大きくて大量に含めすぎるには注意が必要です。
- size
スクリーンショットがリサイズされるサイズです。 None なら、スクリーンショットはプレイヤーのウィンドウサイズにリサイズされます。
この関数は遅いため、リアルタイムエフェクトではなく、保存用のスクリーンショット用として意図されています。