12. セーブのサムネイルを固定する
1.0.3 から、セーブのサムネイルに出す絵を決められるようになりました。
セーブのサムネイルは、ふつうはセーブした時点の画面のコピーです。CG の差分の中にサムネイルに出したくない絵があるときは、 どの差分でセーブしても、決まった絵(たとえば
CG01a
)をサムネイルに出せます。
紹介デモ(
data0\scenario\feature_demo.txt
)の「② 応用サンプル」→ 5 ページ目の「22. セーブのサムネイルを固定する」で、差分を出したままセーブして確かめられます。 Windows / ブラウザ / Android で同じように動きます。
12.1 決め方は 2 つ
| 書く場所 | 書き方 | 向いている場面 |
|---|---|---|
| シナリオ |
savethumb_start 絵の名前
〜
savethumb_end
|
場面ごとに決めたいとき。範囲を 1 つずつ書きます。 |
| システムスクリプト | System.saveLoad.setThumbnailOverride(パターン, 絵の名前) |
作品全体で決めたいとき。作品の頭で 1 回書けば、シナリオには何も書かなくて済みます。 |
どちらも無いときは、今までどおり画面のコピーです。
優先の順
-
シナリオの
savethumb_start〜savethumb_endの範囲 - システムスクリプトの対応表(書いた順に見て、最初に当たった物)
- 画面のコピー
12.2 シナリオで決める
evcg_show "CG01a" 500
savethumb_start CG01a
ここからは、どの差分でセーブしてもサムネイルは CG01a です。
evcg_show "CG01b" 300
……
evcg_show "CG01h" 300
……
savethumb_end
ここからは今までどおり、画面がサムネイルになります。
| 命令 | すること |
|---|---|
savethumb_start 絵の名前 |
ここから、指定した絵をサムネイルにする。別名
savesumstart
。もう一度書くと絵が替わる。
|
savethumb_end |
範囲を終える。別名
savesumend
。
|
絵の名前の書き方は
evcg_show
と同じです(
CG01a
・
cg01/CG01a
・
base+smile
)。日本語の名前は
"…"
で囲みます。
範囲はセーブデータに残り、ロードした後も
savethumb_end
まで続きます。「はじめから」で始めたとき・タイトルへ戻ったときは範囲の外に戻ります。範囲は別のシナリオファイルへ移っても続くので、終わる所に
savethumb_end
を書いてください。
12.3 システムスクリプトで決める
data0\system\Initialize.txt
など、作品の起動のときに動く所で 1 回書きます。
// CG01 の差分(CG01a〜CG01h)が出ているときは、どれでも CG01a をサムネイルにする
System.saveLoad.setThumbnailOverride("CG01*", "CG01a");
// CG02 の差分は CG02a
System.saveLoad.setThumbnailOverride("CG02*", "CG02a");
| 関数 | すること |
|---|---|
System.saveLoad.setThumbnailOverride(パターン, 絵の名前) |
画面に出ている CG・背景の名前がパターンに当たるとき、その絵を使う。同じパターンをもう一度書くと絵が替わる。 |
System.saveLoad.clearThumbnailOverride([パターン]) |
そのパターンの対応を消す。パターンを省くと全部消す。 |
-
パターンには
*(0 字以上)と?(1 字)を使えます。英字の大きさは区別しません。 -
パターンを当てるのは、シナリオに書いた絵の名前です。
evcg_show "cg01/CG01b" 300ならcg01/CG01bとCG01bの両方、evcg_show "base+smile" 300ならbaseとsmileのどちらに当たっても使います。 -
名前だけで書いた絵(
evcg_show "smile" 300)は、フォルダ付きのパターン(cg01/*)には当たりません。名前のパターンで書いてください。 - 見る絵は、イベント CG(素体と差分)と背景です。立ち絵とスプライトは見ません。
- 対応表はセーブデータに入りません。作品の設定なので、起動のたびに書きます。
12.4 どのサムネイルに効くか
サムネイルを作る所すべてに効きます。
- セーブ画面からのセーブ(メッセージウィンドウの SAVE・上部メニュー・ロード画面の「セーブへ」・システムスクリプトから開いた画面)
- クイックセーブ・オートセーブ
-
カスタムダイアログ(
System.saveLoad.setCustomDialog(1))で見せるサムネイル
絵はサムネイルの大きさに縮めます。縦横の比は変えず、余った所は黒になります。透明な所も黒の上に重なります。
指定した絵が見つからないときは、今までどおり画面のコピーになります。
色覚の補助を入れている場合、画面のコピーには補助がかかりますが、この機能で決めた絵にはかかりません。
12.5 セーブデータへの影響
-
範囲の中でセーブしたときだけ、セーブデータの画面の情報の末尾にブロック
STH1(絵の名前)を足します。セーブデータの形の版は変わりません。 - 範囲の外でセーブしたデータ、この機能を使わない作品のセーブデータの中身は、今までと同じです。
- 前の版で作ったセーブデータは、範囲の外として読みます。