Ren'Py memo

Ren'Pyの個人的なメモ

進捗率を表示する

引用 How to display percentage of your game completed/read - Lemma Soft Forums


全体のどこまで読み終えたかをパーセンテージにしてテキストで表示するコードです。

記述例

$ seen = renpy.count_seen_dialogue_blocks()
$ dialogue = renpy.count_dialogue_blocks()
$ result = seen * 100 / dialogue

text _ ("[result]%")


renpy.count_seen_dialogue_blocks:(主な言語での)全体台詞ブロック数を計測します
renpy.count_dialogue_blocks:既読の台詞ブロックの数を計測します

seen * 100 / dialogue:全既読だと100%になるように丸める計算をしてます。

text _ ("[result]%"):変数をテキストで表記する場合は[]で囲います。


これらの変数以外にも便利な専用変数はいくつもあります。
その他の関数と変数 — Ren'Py Documentation


renpy.count_seen_dialogue_blocksは一番元の言語のブロックを数えるため、
翻訳によって結果は少し変わるかもしれません(推測なので違うかもしれません)

余談

・変数の中身はつど変更されるので、text前にすぐ変数を参照した方がよさげです。
・全て読みおえた後でも、後のアプデで文章を変更するとその部分は未読になります。
・テキストの表示以外にresultの変数を参照してバーに値を入れてもいいかもしれません。

追記(23.05.06

小数点がめっちゃ出る場合、
text _("{:.0f}%").format(result)
みたいに書いたらなんとかなる