#------------------------------------------------------------------------------- # # SRC弾幕風味戦闘アニメインクルード ver 1.0 # 2006/5/22 # #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- ○これは何?  SRC [http://src.jpn.org/] シナリオに組み込んで使用する、弾幕風エフェクトを表示 するためのインクルードです。  SRC上で簡易的にかつ量産可能な弾幕アニメを実現するために作りました。そのため表 示できるエフェクトはかなり限られてますし、若干のしょぼさは否めません。あらかじめ ご留意ください。  また、あんまり弾数を多くするとマシンによってはかなり処理落ちします。 #------------------------------------------------------------------------------- ○導入方法  NWayShot.eve を libフォルダ等にコピーして、 とシナリオに記述して読み込んでください。使用するデータフォルダの Include.eve に 記述しておくと幸せかもしれません。  あとは Animetion.txt で戦闘アニメの設定をするだけです。詳しくは下のサンプルと リファレンスをご覧ください。 #------------------------------------------------------------------------------- ○簡単な使い方 - 基本弾幕 #------------------------------------------------------------------------------- 武器名(攻撃), NWay #------------------------------------------------------------------------------- Animation.txtで弾幕エフェクトを設定したい武器に上記のように記述してください。 最も単純な弾幕エフェクトを表示できます。  また、基本的に(攻撃)タイミングのエフェクトしか用意していません。他のタイミング で使用するときは、@戦闘アニメ_NWay攻撃 などとして呼び出す必要があるでしょう。 - Wayの指定 #------------------------------------------------------------------------------- 武器名(攻撃), NWay Way 4 #-------------------------------------------------------------------------------  デフォルトでは 5Wayショットですが、4Wayショットにしたい場合は上記のように Way の後ろにWay数の4を指定します。 Wayとは、簡単に言えば一度に発射する弾の数です。5Wayなら敵機狙いの弾1発と、左右 に多少角度をつけた弾が2発づつ、計5発の弾を同時に発射するという意味になります。 4Wayなら、敵機を直接狙わずに、その左右に2発ずつ弾を発射します。Way数が奇数なら 敵機を直接狙う弾も発射し、偶数なら発射しません。普通は奇数を指定することが多いは ずです。 - 広角の設定 #------------------------------------------------------------------------------- 武器名(攻撃), NWay Way 9 広角 360 #-------------------------------------------------------------------------------  広角とは、弾幕を発射する範囲の広さということです。広角を360に設定すると、360° に発射、つまり全方位に弾を撃つということになります。デフォルトでは広角は90°です から、相手を中心として左右45°ずつに弾を拡散することになります。  注意しなければならないのが、360°に設定した場合は実際には (Way - 1)発しか表示 されないということです。上記の例では9Wayに設定していますが、実際には上下左右斜め の計八方向に対して弾を発射します。 - 画像や発射音の変更 #------------------------------------------------------------------------------- 武器名(攻撃), NWay 画像 Weapon\EFFECT_Shuriken01.bmp 音 Slash.wav #------------------------------------------------------------------------------- 弾幕画像や発射音をデフォルトのものから変更します。 画像のパスは、"Anime\"フォルダを省略したものとなっています。PaintPictureで指定 するパスと若干異なっているので注意してください。シナリオフォルダを優先的に検索し、 存在しなければSRCフォルダのほうから探します。  画像は、 画像 Bullet\EFFECT_ShootingCutter(Red)01.bmp+Bullet\EFFECT_ShootingCutter(Blue)01.bmp のように プラス("+")記号で繋げて複数指定することもできます。上記の例では、赤と青 のスーパーブーメランを同時に指定しています。このようにすると、例えば5Way弾なら左 から 赤青赤青赤 のように交互に弾画像が表示されるようになります。複数の弾が混じっ た弾幕を作るときに便利です。  いくつでも画像を指定できますが、Way数以上指定しても無意味です。またプラス記号 の間に空白は含めないでください。 - 複数の弾幕の組み合わせ #------------------------------------------------------------------------------- 武器名(攻撃), NWay 同期;NWay 同期 遅延 10;NWay 遅延 20 #------------------------------------------------------------------------------- 複数の弾幕を組み合わせるには、NWayコマンドを複数記述します。その際、一番最後の 弾幕以外に「同期」オプションを加えます。「同期」オプションを記述していると、次の 弾幕の発動タイミングに同期してエフェクトを表示するようになります。 上記の例では、デフォルトの弾幕を発射した後、4カウント遅れて次の弾幕を発射して います。デフォルトでは 弾数3発×間隔2カウントで、計6カウントで第一波を発射し終え ることがわかります。なので遅延を10にすると、さらに4カウント後に第二波が発射され ることになります。  1カウントは理論上は[0.1秒]ですが、マシンのパワーや弾幕の量などによって大きく変 化する場合がありますので、一概には言えません。ただ (弾数×間隔) が発射にかかるカ ウント数だということだけは覚えておいてください。  遅延を指定しなければ同時に発射されます。異なる方向に一度に弾幕を展開する場合は 遅延を指定しないことでそのように見せることができます。  理論上はいくつでも弾幕を組み合わせることができます。もちろん重ねれば重ねるほど それだけ処理は重くなるということには注意が必要です。 #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- ○オプション引数の説明 #------------------------------------------------------------------------------- ◇弾幕タイプのオプション - 弾数 (デフォルト:3)   弾を何回発射するかを指定します。   総弾数ではありません。例えば5Wayで弾数3なら、計15発の弾がエフェクト上で表示  されることになります。 - Way (デフォルト:5)   弾を拡散させる数です。   5Wayなら敵機を直接狙う軌道のほかに、左右に2本ずつ発射します。奇数Wayなら敵機  を直接狙い、偶数Wayなら敵機を外します。   但し広角を360にしたときは、(Way-1)Wayしか弾が表示されません。 - 広角 (デフォルト:90)   弾を拡散させる角度です。   90 なら左右に最大 45°ずつ軌道が拡散されます。360度なら全方位に弾を発射しま  す。Wayが1のときは全く意味がありません。また360°以上も指定できますが、余程ト  リッキーな弾幕を狙うでない限りはあまり意味は無いかもしれません。 - 角度 (デフォルト:0)   弾を発射させる方向です。マイナスも指定できます。   30なら、左に30°ずらした方向に発射することになります。180なら全く反対側に弾  幕を展開します。   複数の弾幕を組み合わせて、多方向にnWayショットを展開するときなどに使います。 - 回転 (デフォルト:0)   指定した角度だけ、毎カウントずつ回転しながら弾を撃ちます。"角度"オプションを  動的に加算していくようなものです。ワインダー系と組み合わせるとそれっぽいかもし  れません。 - 湾曲 (デフォルト:0)   指定した角度だけ曲がりながら弾が飛んでいきます。ただし奇数Way弾なら必ず中央  の弾の軌道上に敵機が来ます。湾曲のぶんだけ角度をずらす必要はありません。 #------------------------------------------------------------------------------- ◇画像・サウンドのオプション - 画像 (デフォルト:"Weapon\EFFECT_Kunai01.bmp")   表示する弾の画像です。フォルダ名の "Anime\"は省略してください。逆に言えば、  シナリオ側で画像を用意する場合は "Bitmap\Anime\" 以下に画像ファイルを置く必要 があります。   プラス("+")記号で複数の画像を指定することができます。"Red.bmp+Blue.bmp"とし  た場合、5Way弾なら 赤青赤青赤 と交互に画像が割り当てられます。 "Red.bmp+Blue.bmp+Yellow.bmp"なら 赤青黄赤青 です。赤青黄青赤 ではありません。 プラス記号の前後に空白等は入れないでください。 - 画角 (デフォルト:180)   画像の先端部分の角度を指定します(右側が0°)。   画像の先端(剣なら切っ先)が何°の位置にあるかということです。SRCの投擲武器  は大抵180°の位置に先端がありますから、デフォルト値が180になっています。刀剣は  135°の位置がほとんどですから、剣を投げるときは画角を 135 にします。 - 画像回転 ( ["進路" | "回転" | "なし"] デフォルト:進路)   画像を回転表示するか否かです。進路、回転、なしの3種類から選びます。   "進路" は、画像の進行方向に画角で指定した先端を常に向けるというオプションで す。通常はこれを選ぶべきでしょう。 "回転" を指定すると、画像がくるくる回りながら飛んでいきます。手裏剣などの武 器ではこちらのほうが自然に見えます。 "なし" にすると、進行方向に関係なく全て同じ方向で画像が表示されます。円形な ど元々方向があまり関係ない画像の場合は、"なし"にしておいたほうが処理が若干軽く なるかもしれません。 - サイズ (デフォルト:32)   表示する画像のピクセル数です。   64 なら 64 * 64 ピクセルに拡大して表示します。現状では縦横比を変えることはで  きません。 - 音 (デフォルト:"bow.wav")   各弾を発射する度に出す音です。   音を鳴らしたくない場合は、マイナス記号("-")を指定してください。複数の弾幕を  組み合わせたときは、音が鳴りすぎてうるさい場合があります。 - 開始音 (デフォルト:"-")   最初の弾を発射するときのみに鳴らす音です。   上記の各弾ごとのサウンドではうるさい場合には、こちらのオプションを使用して最  初の1発だけ鳴らすようにできます。開始音を指定した場合は、通常の発射音は使用し  ないほうがベターです。 #------------------------------------------------------------------------------- ◇発射位置のオプション - 位置X (デフォルト: WX(対象パイロット))   弾幕を発射する地点の画面上のX座標です。   定数で指定するのは難しいので、対象パイロットや相手パイロットなどの変数とWX関  数を駆使する必要があるでしょう。あまり複雑な場合はサブルーチンに分けたほうがい  い場合もあります。 - 位置Y (デフォルト: WY(対象パイロット)   弾幕を発射する地点の画面上のY座標です。 - ワープ(値なし)   発射位置をずらしたときに、発射地点に自機画像を表示するか否かです。   ただしこのオプションで元居た自機を消す処理は行いませんので、そのまま使うと分  身したように見えます。必要なら "透明化" などの戦闘アニメを使用して自機を消して  おいてください。   このオプションは値をセットしません。「ワープ」と記述しただけで有効になります。  (例:Nway Way 3 ワープ 位置X 10 位置Y 10) - 自機画像 (デフォルト: Info(ユニット, 対象ユニットID, グラフィック))   "ワープ" オプションによって自機画像を表示する際、表示する自機画像を変更しま  す。これをうまく用いると、(いわゆる)オプションから弾を発射しているように見せ  ることもできます。   ただし「画像」オプションと違い "Anime\" フォルダは省略されません!間違えない  ように注意してください。 - ダブル (デフォルト:0)   1以上の値を設定すると、自機の左右で値分だけ離れた位置から並列に弾幕を発射す  るようになります。   「Way」オプションを1にすると、並列に撃つタイプのショット簡単に実現することが  できます。   また「ワープ」と「自機画像」オプションを指定するとそれぞれの位置に指定画像が  表示されるので、サイドビット(いわゆるオプション武器)から弾を発射しているよう  に見せることができます。 #------------------------------------------------------------------------------- ◇発射タイミングのオプション - 同期 (値なし)   弾幕を発射するタイミングを、次の弾幕の発射時と同じ時刻にします。   次の弾幕にも「同期」オプションが設定されていれば、さらに次に同期します。  「同期」オプションが無い弾幕が来るまで、全ての弾幕の表示は延期されます。ですの  で、一番最後の弾幕には同期オプションをつけないでください。   このオプションには値をセットしません。記述するだけで有効です。 - 遅延 (デフォルト: 0)   弾幕を指定した値ぶんのカウントだけ遅らせて表示を開始します。「同期」オプショ  ンで複数の弾幕を複合させるときに使用します。   発射にかかるカウント数は、弾数 × 間隔 です。 - 間隔 (デフォルト:2)   弾を発射する間隔です。   1なら連続的に、3ならちょっと間を置いて発射します。1以上の整数ならどんな数で  も構いませんが、せいぜい4くらいが限度だと思います。それ以上だと遅すぎてイライ  ラしてくるでしょう。   複数の弾幕を組み合わせて使用する場合は、重要な項目となってきます。一方を間隔  2カウントに、他方を間隔4カウントにした場合は、2回に1回後者の弾幕が発射されるこ  とになります。 - 速度 (デフォルト: 5)   弾幕のスピードです。   この数値を大きくするほど、弾が飛んでいくスピードが速くなります。最速は25です。  25にした場合は、ほとんど表示されないので注意してください。通常は変える必要はあ  りません。   またあまり遅くすると、表示までの処理に時間がかかるようになります。 #------------------------------------------------------------------------------- ○改造のためのヒント  この戦闘アニメでは、「弾幕の位置を配列に代入」→「保存された弾を表示」という段 階を踏んでいます。そのため弾幕を追加したい場合は、表示する前に配列にたくさん保存 してやればいいというわけです。  弾データを配列に保管するには、"AddBullet" というサブルーチンを使用します。この 関数は引数にカウント数とPaintPictureの引数リストを取ります。  また、"弾幕配列音" 配列(インデックスはカウント数)にサウンドファイル名を入れ ることで指定したカウントに音を鳴らすことができます。  弾幕を表示する時は、"弾幕発動" サブルーチンを呼び出すだけです。この関数を呼び 出す前に AddBullet をたくさんすれば、それだけたくさん一気に弾幕が表示されるとい うことです。  NWayショットでは、"同期" オプションをつけなかったとき自動的にこの関数を呼び出 すようにしています。  任意項目の引数を実現するために、"Argv" と "Argc" という関数を使用できます。  Argvは値を取る引数で、第二引数にデフォルト値をセットできます。  Argcは値をとらない引数で、引数に特定の項目があるか無いかを0 or 1で返します。 #------------------------------------------------------------------------------- ○著作権等 (C)2006 無重力, All Right Reserved.  このインクルードは自由に利用、転載、改造、再配布することができます。報告義務、 著作権表示義務は特にありません。  バグ報告及び改善点の指摘などありましたら無重力までご連 絡ください。ただ多忙のため、必ずしもサポートできるとは限りません。  サンプルシナリオでは、以下の素材ファイルを同梱しています。これらの著作権はそれ ぞれの作者にありますので、そのままコピーして自分のシナリオに利用することは絶対に しないでください。 - 戦闘アニメ画像 魂の集う場所 - 効果音素材 THE MATCH-MAKERS なお、ユニット画像は全て私が作成したものですので、自由に利用してもらって構いません。