チャプターごとにゲームを開始できるようにする
提供:Ren'Py Snippets
メニュー上にチャプターごとのボタンを配置し、それぞれの位置からシナリオを開始するには、チャプターごとにラベルブロックを作り、Screen Language の Start
アクションにパラメーターを設定することで実現できます。
次の例では、メインメニュー画面にチャプター開始ボタンを追加しています。もちろん、新しくチャプター選択画面を作り、そこでプレイヤーに選んでもらうこともできます。
screens.rpy # screen main_menu
textbutton _("Start Game") action Start() + + # chapter2 ラベルからスタートするボタンを追加 + textbutton _("Start Chapter 2") action Start("chapter2") + textbutton _("Load Game") action ShowMenu("load") textbutton _("Preferences") action ShowMenu("preferences") textbutton _("Help") action Help() textbutton _("Quit") action Quit(confirm=False)
init: define e = Character("アイリーン", image="eileen") image bg washington = "washington.jpg" image eileen happy = "eileen_happy.png" image eileen concerned = "eileen_concerned.png" # スタートブロック(チャプター1) label start: scene bg washington show eileen happy e "「チャプター1、はじまります!」" # jump や return をしない場合、そのまま次のラベルブロックに進む # チャプター2 label chapter2: scene bg washington show eileen concerned e "「え、もうチャプター2なの?」"
Start
アクションにパラメーターを指定しないと、どうなるのでしょう?パラメーターを省略した場合は、start
がパラメーターとして渡されたと解釈されます。逆に言えば、通常のゲーム開始ボタンに設定された Start
アクションにパラメーターを設定すれば、start
ラベルブロック以外からシナリオを開始することも可能だということです。