まったくのプログラミング素人の筆者がC++/HSPを使用してSTG(シューティングゲーム)を作っていく過程を書くブログでしたが最近は脱線気味。プログラミング以外にも、ゲーム関連の記事、日々の戯言など。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
fpsを表示させようと思って、表示のさせ方を色々と調べてみた。
fpsってのは1秒間に何回画面を書き換えたか?っていうのがわかる表示で、処理落ちした時なんかに
どれくらい処理落ちしてるのか目安になるので、表示させたかったんですよね。
どうやるのかと言うと、何回書き換えたかを変数で覚えておいて、その変数が1秒間に増えた数をFpsとして表示するみたい。
HSPの掲示板なんかを参考に簡単なfps測定スプリクトを作ってみました。(写したとも言う(汗))
*************************************
*main
fp++ ;フレーム数を覚えておく変数
time=gettime(6) ;timeに現在の秒数を代入
if time!=time2 { ;timeとtime2が等しくなければ{}内の命令を行う
cls 0 ;ウィンドウ内を白色でクリア
fpc=fp ;fpc(表示するFps数)にfp(現在のフレーム数)を代入
fp=0 } ;フレーム数をクリア
pos 0,0
mes " Fps "+fpc ;フレーム数の表示
time2=time ;time2に現在の秒数を代入(1秒ごとに比べる為)
await 16 ;16ミリ秒待つ
goto *main
*************************************
hsp3.0使用
これを表示すると、Fps 50位を表示します。でも、await 16なので60位を表示しそうなもんなのですが。
(await 16は16ミリ秒待つと言う事なので、1秒は1000ミリ秒ですので16×60で960(大体1000)になるので)
で、更に調べてみるとgettime自体の精度があまり良くないみたいで、このような結果になるみたいです・・・多分。
ひょっとしたら、スプリクトが悪いのかもしれませんが(汗)
どなたか60fpsで表示出来る方法を知っていらしたら教えて下さい。
肝心のゲームの方ですが、エラー表示に悩まされてたんですが敵の弾処理を、全部サイン、コサインで処理したら
上手く動くようになりました。
しかも、動作もそこそこ軽くなってくれるという嬉しい誤算^^
DirectX使おうかと思ってましたが、とりあえず標準命令だけで作ってみます。
現在はこんな感じ↓
今日で作り初めて1ヶ月になるんですが、思ったより順調に出来てきています。
大体のゲーム進行のイメージは出来てきたので、もっと敵の種類やボスなんかを作っていけば
当初の目的の、簡単な敵が出てきて敵をすべて倒すとボスが出てきてボスを倒して終了みたいなのは出来そうな感じです。
fpsってのは1秒間に何回画面を書き換えたか?っていうのがわかる表示で、処理落ちした時なんかに
どれくらい処理落ちしてるのか目安になるので、表示させたかったんですよね。
どうやるのかと言うと、何回書き換えたかを変数で覚えておいて、その変数が1秒間に増えた数をFpsとして表示するみたい。
HSPの掲示板なんかを参考に簡単なfps測定スプリクトを作ってみました。(写したとも言う(汗))
*************************************
*main
fp++ ;フレーム数を覚えておく変数
time=gettime(6) ;timeに現在の秒数を代入
if time!=time2 { ;timeとtime2が等しくなければ{}内の命令を行う
cls 0 ;ウィンドウ内を白色でクリア
fpc=fp ;fpc(表示するFps数)にfp(現在のフレーム数)を代入
fp=0 } ;フレーム数をクリア
pos 0,0
mes " Fps "+fpc ;フレーム数の表示
time2=time ;time2に現在の秒数を代入(1秒ごとに比べる為)
await 16 ;16ミリ秒待つ
goto *main
*************************************
hsp3.0使用
これを表示すると、Fps 50位を表示します。でも、await 16なので60位を表示しそうなもんなのですが。
(await 16は16ミリ秒待つと言う事なので、1秒は1000ミリ秒ですので16×60で960(大体1000)になるので)
で、更に調べてみるとgettime自体の精度があまり良くないみたいで、このような結果になるみたいです・・・多分。
ひょっとしたら、スプリクトが悪いのかもしれませんが(汗)
どなたか60fpsで表示出来る方法を知っていらしたら教えて下さい。
肝心のゲームの方ですが、エラー表示に悩まされてたんですが敵の弾処理を、全部サイン、コサインで処理したら
上手く動くようになりました。
しかも、動作もそこそこ軽くなってくれるという嬉しい誤算^^
DirectX使おうかと思ってましたが、とりあえず標準命令だけで作ってみます。
現在はこんな感じ↓
今日で作り初めて1ヶ月になるんですが、思ったより順調に出来てきています。
大体のゲーム進行のイメージは出来てきたので、もっと敵の種類やボスなんかを作っていけば
当初の目的の、簡単な敵が出てきて敵をすべて倒すとボスが出てきてボスを倒して終了みたいなのは出来そうな感じです。
PR
この記事にコメントする
カレンダー
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/04)
(12/26)
(12/25)
(11/17)
(10/11)
プロフィール
HN:
kt.
性別:
男性
自己紹介:
プログラミング経験は昔ファミリーベーシックでちょっとさわったくらい。
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
好きなSTGは、怒首領蜂大往生、エスプガルーダ(2)等の弾幕STGやら雷電シリーズなんかの非弾幕、バトルガレッガ、グラディウスシリーズ、R-TYPE等、STGなら何でも好きです。
音楽がカッコイイSTGが特に好きで、並木学氏は最高!
ブログ内検索
最古記事