見出し画像

非プログラマのRen'Pyノート:コピペーで使えるエンドロール

Ren'Pyでいい感じのエンドロール作りたいなあ〜でもどうすればいいのかよくわからない! そんな方は以下をそのままコピペーしてご利用ください。

エンドロールなんてゲームができてからでいいからまだまだじゃない? と思う方もいるかもですが、自分は素材借りた大元の名前をメモしてとっておくのが苦手なので、先にエンドロール枠作って本編作業しながら都度メモ代わりに書き入れたりしてます。

良い感じの音楽はBGMer様よりお借りしました

コピペーで使えるエンドロールスクリプト3選

##背景単色を用意#########################################################
image clr_black = "#000000"

##エンドロール1(上下スクロール)#############################################
screen endroll_up():
    frame:
        background None
        at uproll

        vbox: 
            spacing 150

            text "「一作目のタイトル」\n担当者名(執筆&スクリプト)":
                style "endroll_1"

            text "「2作目のタイトル」\nみやこ出版(執筆&スクリプト)":
                style "endroll_1"

            text "「3作目のタイトル」\n担当者名(執筆&スクリプト)":
                style "endroll_1"

            text "BGM\n https://dova-s.jp/":
                style "endroll_1"

            text "効果音\n効果音ラボ https://soundeffect-lab.info/ \n 効果音辞典 https://sounddictionary.info/":
                style "endroll_1"

            text "写真素材\n ぱくたそ https://www.pakutaso.com/ \n 写真AC https://www.photo-ac.com/":
                style "endroll_1"

            text "\n\n\n" 

            text "その他いろいろ\n みやこ出版 https://miyakoshuppan.jp/":
                style "endroll_1"

transform uproll: #アップロールの動きと秒数と量はここで決める
    xalign 0.5
    ypos 1.1 #画面外(下)に置く
    linear 15.0 ypos -1.62 #画面外(上)へ移動 エンドロールの長さに合わせて調整が必要
    #↑数字=移動にかける秒数 とっとと流したいときはここの長さを変える

style endroll_1:
    textalign 0.5
    xalign 0.5
    color "#fff"
    #font "SourceHanSansLite.ttf" #フォント指定しなければデフォルトになるよ
    size 48


##エンドロール2(横スクロール)#############################################
image black_under: #画面下部にうっっっっすら表示する黒帯の濃さなどを指定
    "clr_black" #黒帯の位置
    ypos 0.82
    alpha 0.0
    linear 1.0 alpha 0.5 #linear1.0= 1秒かけて、alpha0.5=濃度50% 

screen endroll_slide():
    add "black_under" #画面下部にうっっっっすら黒帯を表示

    frame:
        background None #"#0b8800" #文字がはみ出たりする場合はここに色を入れると枠の色が見えて編集しやすい
        ypos 0.84 #画面下部分に表示
        xsize 7000 #長くなる場合はここも長くしないと文字がみゅうみゅうになる
        at slide

        hbox: #横組にしてる
            spacing 200

            text "「一作目のタイトル」\n 担当者名(執筆&スクリプト)":
                style "endroll_2"

            text "「2作目のタイトル」\n みやこ出版(執筆&スクリプト)":
                style "endroll_2"

            text "「3作目のタイトル」\n 担当者名(執筆&スクリプト)":
                style "endroll_2"

            text "BGM\nhttps://dova-s.jp/":
                style "endroll_2"

            text "効果音\n効果音ラボ https://soundeffect-lab.info/":
                style "endroll_2"

            text "写真素材\nぱくたそ https://www.pakutaso.com":
                style "endroll_2"

            text "その他いろいろ\nみやこ出版 https://miyakoshuppan.jp/":
                style "endroll_2"

transform slide: #アップロールの動きと秒数と量はここで決める
    xpos 1.1 #画面外(右?)に置く
    linear 18.0 xpos -3.6 #画面外(左)へ移動 エンドロールの長さに合わせて調整が必要
    #↑数字=移動にかける秒数 とっとと流したいときはここの長さを変える

style endroll_2: #文字の大きさとかを指定
    textalign 0.0
    color "#fff"
    font "SourceHanSansLite.ttf"
    size 42

##未使用 ご興味のある方は使ってね
transform trm: #背景に表示する画像をトリミングする動きを登録
    crop (0, 0, 1920, 850)  #どうだろーうーん    

##エンドロール3(場面ごとに表示)#############################################
screen endroll_scene_1():
    frame:
        background None
        xalign 0.1
        yalign 0.5

        vbox: 
            spacing 100

            text "「一作目のタイトル」\n 担当者名(執筆&スクリプト)":
                style "endroll_3"

            text "「2作目のタイトル」\n みやこ出版(執筆&スクリプト)":
                style "endroll_3"

            text "「3作目のタイトル」\n 担当者名(執筆&スクリプト)":
                style "endroll_3"


screen endroll_scene_2():
    frame:
        background None
        xalign 0.1
        yalign 0.5

        vbox:
            spacing 100

            text "BGM:\nDOVA-SYNDROME\nhttps://dova-s.jp/":
                style "endroll_3"

            text "効果音:\n効果音ラボ\nhttps://soundeffect-lab.info/\n\n効果音辞典:\nhttps://sounddictionary.info/":
                style "endroll_3"


screen endroll_scene_3():
    frame:
        background None
        xalign 0.1
        yalign 0.5
        vbox:
            spacing 100

            text "写真素材:\nぱくたそ\nhttps://www.pakutaso.com/\n\n写真AC:\nhttps://www.photo-ac.com/":
                style "endroll_3"

screen endroll_scene_4():
    frame:
        background None
        xalign 0.1
        yalign 0.5

        vbox: 
            spacing 100
            text "その他いろいろ\nみやこ出版\nhttps://miyakoshuppan.jp/":
                style "endroll_3"


transform minisize: #ミニサイズの背景表示
    xalign 0.9 #横位置
    yalign 0.5 #タテイチ
    alpha 0.0 #一旦濃度0で表示して
    zoom 0.42 #チイサクシテ
    linear 0.7 alpha 1.0 #フェードインさせる 最後に zoom 0.5 とか書くとちょっとサイズアップする

style endroll_3: #文字の大きさなどここで指定
    color "#fff"
    size 42


#######################################################################################
##スクロール系エンドロール(上下)##########################################################
#######################################################################################
label endroll_ud:        
    $ quick_menu = False #一旦クイックメニューを非表示に

    show text "{color=#ccc}タイトルサンプル1 上ながれ{/color}": #ここはデフォルトの文字が出ます
        xalign 0.5
        yalign 0.5
    with dissolve
    pause 2.0
    hide text with dissolve

    stop music fadeout 2.5 #本編で鳴ってた音を念の為とめる
    stop sound fadeout 1

    scene clr_black #背景真っ黒
    with Dissolve(2)

##画像を黒い背景の前にふんわり入れる処理
    show bg_1: #imagesフォルダにある好きな画像を指定
        alpha 0.0
        linear 1.5 alpha 0.4

    play music endroll #bgmを鳴らす

    show screen endroll_up    

    pause 17.5 #適切な秒数まつ
    #hide text

    hide screen endroll_up
    with Dissolve(1.0)
    pause 0.5

#以下意味がわからない人はまるまる削除 わかる人は流用してね
#   if persistent.clearall: 
#       hide text with dissolve  
#       stop music fadeout 1.5
#       stop sound fadeout 1.5
#
#       scene clr_black 
#       with Dissolve(1.0)
#       pause 1.0
#
#       play music title
#       jump start

    call thankyou

    return

##以上を呼び出すには、エンドロールを呼び出したい箇所に以下を記述する
#   call endroll_ud


#######################################################################################
##スライド系エンドロール(右〜左)##########################################################
#######################################################################################
label endroll_sld:        
    $ quick_menu = False #一旦クイックメニューを非表示に

    show text "{color=#ccc}タイトルサンプル2 横ながれ{/color}": #ここはデフォルトの文字が出ます
        xalign 0.5
        yalign 0.5
    with dissolve
    pause 2.0
    hide text with dissolve

    stop music fadeout 2.5 #本編で鳴ってた音を念の為とめる
    stop sound fadeout 1

    scene clr_black #背景真っ黒
    with Dissolve(2)

    play music endroll #bgmを鳴らす

    show screen endroll_slide #文字を表示しつつ……

    scene bg_1 with dissolve
    pause 4.5 #適切な秒数まつ   

    scene bg_2 with dissolve    
    pause 4.5 #適切な秒数まつ

    scene bg_3 with dissolve    
    pause 4.5 #適切な秒数まつ

    scene clr_black with dissolve
    pause 0.5

    hide screen endroll_slide

    with Dissolve(1.0)
    pause 0.5

    call thankyou

    return

##以上を呼び出すには、エンドロールを呼び出したい箇所に以下を記述する
#   call endroll_sld



#######################################################################################
##シーン別エンドロールここから##########################################################
#######################################################################################

label endroll_scn:        
    $ quick_menu = False #一旦クイックメニューを非表示に

    show text "{color=#ccc}タイトルサンプル3 場面ごと{/color}": #ここはデフォルトの文字が出ます
        xalign 0.5
        yalign 0.5
    with dissolve
    pause 2.0
    hide text with dissolve

    stop music fadeout 2.5 #本編で鳴ってた音を念の為とめる
    stop sound fadeout 1

    scene clr_black #背景真っ黒
    with Dissolve(2)

    play music endroll #bgmを鳴らす

    ##1こめ##################################
    show bg_1 at minisize
    pause 2.5
 
    show screen endroll_scene_1 with dissolve
    pause 3.0

    hide screen endroll_scene_1
    hide bg_1
    with Dissolve (1.0)   
    pause 1.0

    ##2こめ##################################
    show bg_2 at minisize
    pause 2.5

    show screen endroll_scene_2 with dissolve
    pause 3.0    

    hide screen endroll_scene_2
    hide bg_2
    with Dissolve (1.0)   
    pause 1.0

    ##3こめ##################################
    show bg_3 at minisize
    pause 2.5

    show screen endroll_scene_3 with dissolve
    pause 3.0

    hide screen endroll_scene_3
    hide bg_3
    with Dissolve (1.0)   
    pause 1.0


    ##4こめ##################################
    show bg_1 at minisize
    pause 2.5

    show screen endroll_scene_4 with dissolve
    pause 3.0

    hide screen endroll_scene_4
    hide bg_1
    with Dissolve (1.0)   
    pause 1.0

    call thankyou
    
    return

##以上を呼び出すには、エンドロールを呼び出したい箇所に以下を記述する
#   call endroll_scn


##サンキューフォープレイング表示####################################
label thankyou:
    show text "{color=#ccc}Thank you for playing!{/color}": #ここはデフォルトの文字が出ます
        xalign 0.5
        yalign 0.5
    with dissolve
    pause 2.0

    hide text #文字を2.5秒かけて隠す
    with Dissolve(1.5)    

    stop music fadeout 2.0 #bgmとかをフェードアウト
    stop sound fadeout 2.0

    scene clr_black #背景黒呼び出し 
    with Dissolve(1.5)
    pause 2.0

    #play music title #タイトル音楽ここでかけた方がよいかも
    return

これだけで9000字を超える乱暴な記事になったので一応解説します。

中身は3種類ある

-映画っぽい下から上に流れるエンドロール
-テレビっぽい左から右へ流れるエンドロール
-アニメっぽい場面ごとに表示されるエンドロール
+全共通の「thank you for playing」

使い勝手が良さそうなのは映画→アニメ→テレビ の順かなーと思います。特にテレビ風は行数が増やしにくいので、renpyよくわからん方にはおすすめじゃないです。

使い方

よくわかんない人はendroll.rpy というファイルを作って丸々コピペーするといいかも! ちょっとわかる人は必要な箇所だけ抜き出してください。

その上で、エンドロールを呼び出したい箇所に以下いずれかを記入

上下エンドロールを呼び出したい:
call endroll_ud

左右エンドロールを呼び出したい:
call endroll_sld

場面ごとエンドロールを呼び出したい:
call endroll_scn

画像はimagesに、音源はaudioフォルダに入れてね

bg_1、bg_2、bg_3の表記ある画像素材は、私のフォルダに入ってる画像などの名前なので、このままではエラーが出ます。同名の素材を用意するか、適切なものに置き換えてください。なんのことかわからない、という場合は以下記事など読んで再挑戦してください。

なおendroll.mp3 というオーディオファイルがないと動かないので、同名の音源をaudioフォルダに入れてくださいね。

前半はscreen、後半は呼び出し用label

screenを作るだけでは表示されないので、後半のように呼び出したい場所で「ここでscreenをshowしてね」と命令する必要があります。秒数とかのタイミングは、screen内で指定した秒数とlabel側で指定した秒数をいい感じに合わせる必要があります。

screenなのでscene変更しても吹っ飛ばない

立ち絵とかはscene変えると消えちゃいますけどscreenは全無視で流れ続けるので、一旦show screenすればhideするまでは、立ち絵表示したり、背景とかdissolveで自由に変えられます。

なお「エンドロール文字より前にimageを表示したい」とかは難易度が高めですので、初心者さんにはあまりおすすめじゃないです。本稿ではscreenを使っていて、screenレイヤーは基本showレイヤーより手前に出ます。以下記事の準備のところにそれっぽいこと(define config.layers関係)が書いていますので、ご参考までに。

クリックで飛ばせる

逆に飛ばせないようにする方法はよくわかりません。自分はエンドロール飛ばせないとうーん……ってなるのでつけてないです。

利用規約は特にない

常識の範囲で自由にご利用ください。特にご利用報告やクレジットなど必要ありませんが、それはちょっと気が引けるという場合のみ、以下いずれかのようにお願いいたします。

-クレジットのスペサンとかに「みやこ出版」とご記載
-twitterなどのSNSで本稿をシェア
-renpyでゲームを作り良さを全方面へアピール
-本稿にいいねをいただく


※商用や賃金が発生するお仕事などにご利用いただいても構いませんがトラブルがあった場合の責任は負えませんのでご了承ください。

皆様の作るRen'Pyゲームが完成を迎える一助になれば幸いです。

この記事が気に入ったらサポートをしてみませんか?