忍者ブログ
まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

敵弾のグラフィックを回転する弾の画像に変更しようと思ったのですが、ふと疑問が浮かびました。
回転させて表示させる方法としては、回転するアニメの画像を複数枚作って表示させる方法と
回転する命令を使って、画像を回転させて表示させる方法が思いつきます。
で、どちらが処理が軽いのかなぁ?という疑問が浮かびました。
普通に考えると回転させる命令を使った方が処理が重い気もしますが、複数枚の画像を
アニメーションさせるのも似たような気もします。
って事で簡単な検証プログラムを作って検証してみました。

弾を表示するにはDrawGraph関数、回転させて表示するにはDrawRotaGraph関数を使います。
s-WS000883.jpg
こんな感じで、画面の中を反転しながら動く弾画像を回転させながら表示して、Zキーを押すと
DrawRotaGraph関数で表示、押さなければDrawGraphで表示させるようにして
ループ数が増える度に弾が増えていくようにし、Xキーを押した時は弾が増えないようにしました。
最大で25000発表示されるようになっています。

プログラムはコチラ↓
https://blog.cnobi.jp/v1/blog/user/63629cf35d5259ece1529ed13f0745b1/1287250632

検証してみた所、自分のPCではDrawRotaGraph関数を使っていると24000発程度から
FPSが落ちだしたのですが、DrawGraph関数では25000発表示させてもFPS60をキープ
していました。
なので、思った通りDrawGraph関数の方が軽いように思いますが
あまり差はないような気がします。
弾グラフィックを制作する事を考えるとDrawRotaGraph関数の方が楽ですし
綺麗に表示されるのでまぁ、どっちでも良いかな?と言った感じでしょうか(汗)
速度にシビアになるならDrawGraph関数の方がベターでしょうね。
自分は楽したいのでDrawRotaGraph関数を使って表示させようと思っています(笑)
PR
この記事にコメントする
お名前
タイトル
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
無題
プログラム実行時にDrawRotaGraphで生成した回転画像をメモリに置いて、角度を引数として画像を選択してDrawGraphで描画するクラスを作っちゃうとかどうでしょう。
すみません、毎度無責任なこと書いてw
keigo URL 2010/10/19(Tue)09:31:24 編集
無題
keigoさん>
良い方法だなーと思って実装方法を考えたんですが思いつきません(笑)
DrawRotaGraphで生成した回転画像をメモリに保存しておく方法がないかリファレンス読みなおしてみます^^;
kt. 2010/10/19(Tue)14:33:48 編集
この記事へのトラックバック
この記事にトラックバックする:
Twitter
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新コメント
[04/20 kt.]
[04/19 うぇむ]
[11/24 kt.]
[11/21 NONAME]
[11/24 kt.]
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
忍者ブログ [PR]