08/05/23 22:33:50 jPx0XBwI
VistaだとGDIが完全にソフトウェア処理になるから
描画速度自体は確実に落ちるよ
851:名前は開発中のものです。
08/05/23 22:56:52 7QUeOTrk
DDB使ってなけりゃ関係ねぇよ
852:名前は開発中のものです。
08/05/24 09:35:06 WyL1Uf6E
>>851
853:名前は開発中のものです。
08/08/03 23:47:04 eUp/hKRM
C++とDirectXでゲームを作っています。
音楽と効果音の再生をDirectSoundでやろうと思ったんですが、
調べているとVistaはDirectSoundに対応していないと書いてたんですが、
XPとVista両方に対応させたいとしたら、音は何で鳴らせばいいでしょうか。
854:名前は開発中のものです。
08/08/04 03:26:18 Zbdzki70
ハードウェア固有のサウンドエフェクトとか考えなけりゃ普通にDirectSoundでおk
もしくは最近のSDKに追加されたXAudio2とか検討してみ。
ゲーム用途ならこっちの方が使いやすいと思う。
855:853
08/08/04 22:34:14 ro4/+LzM
どうもありがとうございます。
全く音が鳴らないというわけではないんですね。
使う機能はパンとボリュームと再生位置の通知だけなので、
このままDirectSoundを使うことにします。
XAudio2も時間があるときに見てみます。
856:名前は開発中のものです。
08/08/07 18:45:06 6PyoA3BU
C++でゲームを作っています。
爆弾をセット、一定時間後に爆発 という動作をさせたいんですがどのように表現すればいいのでしょうか?
一定時間後に、という部分がいまいちうまくいかなくて・・・よろしくお願いします
857:名前は開発中のものです。
08/08/07 19:20:43 jIGgrvQE
メインループの中で一定時間をカウントして、イベントを起こす。
858:名前は開発中のものです。
08/08/07 21:31:09 afI3YDNl
GetTickCount( )というPC起動から何ミリ秒経過したかを返すAPIがある。
爆弾をセットした時に時間を取得し、爆発時間を加える。
GetTickCount( )で取得した時間が爆破時間を過ぎたら爆発。
859:856
08/08/08 15:38:46 czGsvGYo
お早いアドバイス、ありがとうございます。
やはりタイマー関数のようなものを使わないといけませんか・・・
いまいち使い方がわからないのでifやforを駆使していました。
タイマー関数のようなものを使わないというのはやはり勧められないものでしょうか。
860:名前は開発中のものです。
08/08/08 16:32:11 w2HHE1WB
俺ならキャラごとにカウンターもたせて、1フレームごとにカウントさせるなぁ。
タイマー使ったら、例えば処理落ちしたときとかに爆発タイミング変わったりして困るんじゃない?
861:名前は開発中のものです。
08/08/08 17:31:57 79kn61a7
作るゲームにもよる
例えば等速処理したいときとかどうする
862:名前は開発中のものです。
08/08/08 21:56:47 w2HHE1WB
ああなるほど。
処理落ちしても、ゲーム速度は変わらない設計なら当然タイマー使用のほうになるのか。
863:名前は開発中のものです。
08/08/10 14:19:34 u1XmHl+X
俺もやりたいんだけど1フレームごとにカウントってどうやるの?
864:名前は開発中のものです。
08/08/10 18:37:29 EcZynTEp
while (1) {
ゲームループ実行();
VSYNCを待つ();
カウント変数++;
}
基本的にはこれだけ
865:名前は開発中のものです。
08/08/10 23:22:09 u1XmHl+X
>VSYNCを待つ();
ってなんですか?
866:名前は開発中のものです。
08/08/11 18:10:04 g7MMOmCL
もうwindowsプログラミング以前の低次元のことだから他のスレいきなよ