開発したアプリなど一覧

螺旋弾幕

記事内にアフィリエイトリンクを含む場合があります

http://sky.geocities.jp/kmaedam/xna/spiral.htm

どこかで見たような弾幕。画像にアルファチャンネルを追加してない事をごまかす為に背景を黒くした。

spiral

試したついでに、逆にするには

array.Add(new Fire(1, 400, 300, i, add + (j * 90)));


これを

array.Add(new Fire(1, 400, 300, i, -(add + (j * 90))));


とすると出来る。

ここだけ換えると、画像の表示順は変わらないのでちょっと見た目が変わる。draw部分はforeachで回しているので、ループに入る前に配列を逆順にすると良いんじゃないかな。そこは試してないけど。

spiral reverse

さらに螺旋のパターンを変えてみる。
上記二つは90度毎に10発の弾であったが、これを36度毎に1発の発射すると以下のようになる。元のソースを崩したくなかったので多重ループのままです。

for (j = 0; j < 10; j++) { for (i = 0; i < 1; i++) { array.Add(new Fire(1, 400, 300, i, (add + (j * 36)))); } }

spiral

螺旋の回転するスピードを変更するには以下の一文を書き換える。

add = (add + 10) % 360;

spiral

目が回る・・・

Sponsored Link

コメント

  1. riori より:

    おー
    シューティングゲームで作るための文章ですね
    すごいなー

  2. Ryo Matsufuji より:

    >> riori
    サンプルスクリプトいじってるだけでたいしたことじゃないですよ。

タイトルとURLをコピーしました