[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2ch.scのread.cgiへ]
Update time : 06/02 06:08 / Filesize : 279 KB / Number-of Response : 669
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

親父PGがゲームを作り始めるスレッド



13 名前:親父PG [04/03/30 12:47 ID:nbxm21Tx.net]
>>7
偉そうな事を言える立場ではないですが、書き込みの内容を拝見するに 基本的なプログラムの技術をお持ちだと思いますので、ますはSDKサンプルの
ライブラリを見てDIRECTXの初期化とWINSOWSループあたりを見てみると良いのではないでしょうか?
WINDOWSのサンプルは描画速度はマシン速度(環境)に依存しています。
このままでは定期的な処理ができないので、PeekMessage周りを調べて定期的タイマーで特定の処理を呼び出すようなものを作ってみてはどうでしょうか?

while( WM_QUIT != msg.message )
{
if( m_bActive && m_pd3dDevice != NULL ){
 if ( tTake==FALSE ){
  QueryPerformanceCounter( ( LARGE_INTEGER * )&sTIME );//時間計測開始
  FSP60call();//同期して動かすものはここで
 }
 FSP60nonSYNCcall();//何か出来ることあればやってしまおう
}
 th_GetandPeekMessage( NULL );//Peek Message func
 if( bGotMsg!=TRUE ){
  if( m_bDeviceLost ){
   // Yield some CPU time to other processes
   Sleep( 100 ); // 100 milliseconds
}
if( m_bActive && m_pd3dDevice != NULL ){
 if( FAILED( Render3DEnvironment() ) )SendMessage( m_hWnd, WM_CLOSE, 0, 0 );
 QueryPerformanceCounter( ( LARGE_INTEGER * )&eTIME );// 計測終了
 DWORD wTIME;
 wTIME=( DWORD )16666;
 if ( ( eTIME.LowPart - sTIME.LowPart )>wTIME ){
  tTake=FALSE;
 }else {tTake=TRUE;}//endof if
}
}
私が自作した部分ですが、サンプルのソースに試行錯誤を繰り返しこのような形になりました。






[ 続きを読む ] / [ 携帯版 ]

全部読む 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<279KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef