第26回 数珠繋ぎ

今回は、Plural 用のスクリプトの作り方について話したいと思います。

要旨

それではいってみましょう。

連続再生

前回までは、ずっと1つの弾幕を作成することだけをやってきました。今回からは趣向を変え、複数の弾幕を連続的に再生していくことをやっていきたいと思います。

複数の弾幕を連続的に再生するスクリプトには2種類あります。これは第1回にも話しましたが、Plural 用スクリプトStage 用スクリプトです。

Plural 用スクリプトと Stage 用スクリプトでは作り方が随分異なります。Plural 用スクリプトは、作るのが非常に簡単な反面、単に複数のスクリプトを連続的に再生するだけしかできません。Stage 用スクリプトは、作るのが面倒ですが、その代わりもっと色んなことができます。

今回はそれらのうち、Plural 用のスクリプトを作ってみたいと思います。連続再生するスクリプトは、前に作った野符「武烈クライシス」波符「赤眼催眠マインドシェイカー」 Easy、そして人界剣「悟入幻想 -Easy-」です。作ったのと逆順で言いましたが、この順で再生したいと思います。先ずは、これらのスクリプトの入ったフォルダを、全部同じフォルダの中に放り込んでおいて下さい。そのフォルダの中で作業することにします。

先ず、Plural 用のスクリプトを作るには、最初の行にこう書きます。

#東方弾幕風[Plural]

Single 用の時は #東方弾幕風 だけで良かったのですが、Plural 用になるとさらに [Plural] と書く必要があります。これが、このスクリプトが Plural 用スクリプトであることの目印になります。

続けて、Single 用のスクリプトの時と同じく、タイトルや説明書きなどを指定します。

#Title[講座用弾幕連続再生]
#Text[講座で作った弾幕を連続再生します。]
#Image[.\波符「赤眼催眠(マインドシェイカー)」 Easy\img\波符「赤眼催眠(マインドシェイカー)」 Easy.png]
#ScriptVersion[2]

弾幕グラフィックには、波符「赤眼催眠マインドシェイカー」 Easy のものを使うことにします(かなり横に長くてすみません)。

この次に、Single 用スクリプトでは script_enemy_main を書くことになるわけですが、Plural 用スクリプトでは script_enemy_main は使いません。その代わり、#ScriptPathData#EndScriptPathData を使います。

#ScriptPathData

...

#EndScriptPathData

この2つの命令の間に、再生したいスクリプトのパスを指定することになります。

その、再生したいスクリプトのパスは、#ScriptPath という命令を使って指定します。例えば、野符「武烈クライシス」を指定したい場合は

#ScriptPath[.\野符「武烈クライシス」\野符「武烈クライシス」.txt]

のようになるわけです。

以上をまとめると、次のようになります。

#東方弾幕風[Plural]
#Title[講座用弾幕連続再生]
#Text[講座で作った弾幕を連続再生します。]
#Image[.\波符「赤眼催眠(マインドシェイカー)」 Easy\img\波符「赤眼催眠(マインドシェイカー)」 Easy.png]
#ScriptVersion[2]

#ScriptPathData
    #ScriptPath[.\野符「武烈クライシス」\野符「武烈クライシス」.txt]
    #ScriptPath[.\波符「赤眼催眠(マインドシェイカー)」 Easy\波符「赤眼催眠(マインドシェイカー)」 Easy.txt]
    #ScriptPath[.\人界剣「悟入幻想 -Easy-」\人界剣「悟入幻想 -Easy-」.txt]
#EndScriptPathData

これで Plural 用のスクリプトは完成です。簡単ですね。実際に実行してみて下さい。全部が連続再生されるはずです。もしフォルダ構造やファイル名が違う場合は、それぞれの環境に合わせてパスの記述を変更して下さい。

ゲージの調整

上のスクリプトを実行すると連続再生されますが、ちょっと体力ゲージに注目してみて下さい。

図 1. Plural における体力ゲージ
図 1. Plural における体力ゲージ

このように、Plural 再生における体力ゲージは、各スペルの間に区切りが入った形になります。どこに区切りが入るかですが、これを見るとスペルの数で等分されているようにも見えます。しかし、それは違います。Plural における体力ゲージの区切りは、各スペルのライフを元に決められます。今回は全スペルでライフを同じにしていたので等分されていますが、ライフに違いがあるとその比率から区切りの位置が決められます。

東方シリーズにおいて、通常弾幕とスペルカードアタックでは随分ゲージに差があります。このようなことを再現したい場合は、通常弾幕にライフを多く割り当ててやり、スペルカードアタックのライフは少なくしておけばいいわけです。ライフが少ないと早く撃破されてしまうのではないかと思うかもしれませんが、ダメージレートを低くしてやれば耐久力を上げてやることができます。第15回で、Plural ではライフを固定してダメージレートを調整することが多くなると言いましたが、その理由はこの体力ゲージの調整にあるのです。

次に、東方シリーズではゲージが何本もあったりします。このようにゲージを何本も用意したい場合は、#ScriptNextStep という命令を使います。この命令を置いてやると、置いたところから次のゲージに移ります。例えば次のようにすると、

#東方弾幕風[Plural]
#Title[講座用弾幕連続再生]
#Text[講座で作った弾幕を連続再生します。]
#Image[.\波符「赤眼催眠(マインドシェイカー)」 Easy\img\波符「赤眼催眠(マインドシェイカー)」 Easy.png]
#ScriptVersion[2]

#ScriptPathData
    #ScriptPath[.\野符「武烈クライシス」\野符「武烈クライシス」.txt]
    #ScriptPath[.\波符「赤眼催眠(マインドシェイカー)」 Easy\波符「赤眼催眠(マインドシェイカー)」 Easy.txt]
#ScriptNextStep
    #ScriptPath[.\人界剣「悟入幻想 -Easy-」\人界剣「悟入幻想 -Easy-」.txt]
#EndScriptPathData

野符「武烈クライシス」と波符「赤眼催眠(マインドシェイカー)」 Easy で1本のゲージになり、人界剣「悟入幻想 -Easy-」で1本のゲージになり、合計2本の体力ゲージが現れます。

図 2. 2本の体力ゲージ
図 2. 2本の体力ゲージ

Plural 用スクリプトに必要な知識はこのくらいです。簡単ですね。なお、#BackGround は Plural 用スクリプトのものが採用されるため、各スクリプトで #BackGround を指定していても、それらは反映されません。実際、人界剣「悟入幻想 -Easy-」の背景が使われていないのが分かると思います。ただ、@BackGround が指定されていれば、その処理が優先されます。注意するのはそのくらいかと思います。

要旨

次回からは、Stage 用スクリプトについて話していきたいと思います。ステージを作るには多くの弾幕を考える必要も出てきてなかなか難しいのですが、ステージ弾幕はかなり盛り上がるので、特に会話パートでの絵や文を描ける人は、是非一度ステージ弾幕も作ってみて欲しいと思います。

第25回 | 目次へ戻る

この講座はロベールが作成しました。
inserted by FC2 system