看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《littleshan (我要加入劍道社!)》之銘言: : void render() : { : DWORD time_begin = timeGetTime(); : // 一秒轉動 2 PI 弧度 : // 每張 frame 之前相隔 render_time 這麼多秒 : // 所以是轉動 render_time * PI * 2.0 : D3DXMatrixRotationX(&matWorld, render_time * PI * 2.0f); : render_time = (timeGetTime() - time_begin()) / 1000.0f; : } : → VictorTom:做的, 有需要也可以看一下:) 11/30 16:20 : 推 tyc5116:哈~那些範例我都看過啦..XD,只是有些地方要改不知道要怎改 11/30 16:34 : → tyc5116:我的作業是繞X軸轉一圈花一秒,再換繞Y軸一圈花一秒 11/30 16:35 : → tyc5116:然後就有一堆timer的問題要解決,目前還想不出來...@@ 11/30 16:35 : 推 tyc5116:試了一陣子,render_time常常都會是0耶,為什麼? 11/30 21:21 : → littleshan:render速度太快了 timer 跟不上 11/30 21:48 : → littleshan:加一個 Sleep 試試 11/30 21:49 還是有一些問題耶~~ 如l大所說,加個Sleep便可以了,但是RotationX部份旋轉角要用累加的方式 就是前幾張圖角度分別是0,90,180,270,0,... 則輸入的參數則要輸入0,90,180,270,而不是只輸入90 這部份我用了這樣子寫 double tmpX=timeGetTime() / 1000.0f; static double cntX=0; if (tmpX%D3DX_PI==0) ++cntX; else D3DXMatrixRotationX( &matWorld, timeGetTime() / 1000.0f ); if (cntX>=5) cntX=0; 表示旋轉五圈停止,不過有錯誤 error C2296: '%' : 不合法,左運算元具有型別 'double' 似乎只能接受整數(我猜的),恩....不知道怎麼改 以及推文上有說到的 繞X軸轉一圈花一秒,再換繞Y軸一圈花一秒,應該就加一些判斷就可以了吧? 還是還有一些意外咧??^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.18.48.28
tomnelson:How about 'fmod' ? 12/01 10:18
tyc5116:恩....run到後面發現都是sleep的問題,後來就解決了... 12/01 17:16