弾の重なり方について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ft

弾の重なり方について

#1

投稿記事 by ft » 15年前

こんにちは、弾幕中の弾の重なり方について質問します。
画像についてですが、大きい方が本家の弾幕、小さい方が現在模倣中の弾幕です。
ボスの斜め方向に発射している丸弾を鱗弾の後ろに描画させたいのですが、どのようにしたらいいのでしょうか?
(同様に鱗弾同士も重なりがおかしくなっている部分があります。)
微調整しておらず、全然纏まってなくて見にくいですがコードも載せておきます。
http://icp.atura.ws/m/g/12381/img/0010768051.txt
DXライブラリPortableを用いているため特殊な環境だと思いますが、
よろしくお願いします。

fatens

Re:弾の重なり方について

#2

投稿記事 by fatens » 15年前

>ボスの斜め方向に発射している丸弾を鱗弾の後ろに描画させたいのですが、どのようにしたらいいのでしょうか?

単に描画する順序を逆にすれば良いのでは。


コードはあまり見てませんが、angleの即値の多用はやめた方が良いと思います。

ルート

Re:弾の重なり方について

#3

投稿記事 by ルート » 15年前

玉の描画順番を変えればいいと思います・・・。
ちなみに添付していただいたのは処理では?

Dixq (管理人)

Re:弾の重なり方について

#4

投稿記事 by Dixq (管理人) » 15年前

龍神録では弾の大きさ順にソートしてから描画しています。

ソートについてご存じなければこの辺どうぞ
http://www.google.co.jp/search?hl=ja&q= ... lr=lang_ja

高速なソートを使いたければクイックソートをお使いになってはいかがでしょう。
うちのサイトでクイックソートについて解説しています。
http://dixq.net/sort.html

標準関数でqsort関数もあります。

弾の構造体はそのままにしておきたければ、描画用に弾情報を持った変数にコピーして、コピーした物をソート>描画してもいいかもしれませんね。

#
しかしグラフィック手が込んでますね^^;

ft

Re:弾の重なり方について

#5

投稿記事 by ft » 15年前

添付したコードで、丸弾の初期値を決める箇所を後の方で定義するようにしたらできました。
実は最初はこのようにしていたにも関わらず画像のような状態となっていました。
その時とコードは変わっていないはずなのに結果が異なるのは不思議です(とはいっても現に結果が違うので何処かミスっていたのでしょう;)
わざわざありがとうございました。

管理人様
ソートは全く知りませんでした。
今回はソートに関して手を加えずに解決出来たのですが、高速ソートは非常に興味があるので参考にしたいと思います。

閉鎖

“C言語何でも質問掲示板” へ戻る