Показать сообщение отдельно
Старый 11.04.2006, 14:51   #176
Fant
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 623
Написано 4 полезных сообщений
(для 5 пользователей)
Graphics3D 800,600,32,1 
SetBuffer BackBuffer() 
 
Cam=CreateCamera() 
MoveEntity Cam,0,5,-20 
 
For q=1 To 8 
 Light=CreateLight(2) 
 LightColor Light,Rnd(255),Rnd(255),Rnd(255) 
 LightRange Light,10 
 MoveEntity Light,Rnd(40)-20,Rnd(40)-10,Rnd(40)-20 
Next 
 
Type Spheres 
 Field Model 
End Type 
 
SetFont LoadFont("Arial",14) 
 
For NSph=1 To 10 
 Sph.Spheres=New Spheres 
 Sph\Model=CreateSphere(8) 
 EntityColor sph\Model,Rnd(255),Rnd(255),Rnd(255) 
 TurnEntity sph\Model,0,Rnd(360),0 
Next 
 
 
 
 
Global RenderTime# 
Global Rendered# 
 
;MAIN LOOP 
While Not KeyHit(1) 
 RenderTime=MilliSecs() 
 
 
;UPDATE UNITS ON 25hz 
 If MilliSecs()-LastUpdateUnits>=40 Then  
  ;<=update units code here 
 ;UPDATE SPHERES 
 For Sph.Spheres=Each Spheres 
 MoveEntity Sph\Model,0,0,0.4 
 TurnEntity Sph\Model,-4,0,0 
 For q=1 To rndf# 
 Next 
 Next 
;-----------------------------  
 LastUpdateUnits=MilliSecs() 
 UpdateWorld()  
 EndIf 
 
If KeyDown(28) 
 rndf#=20000 
Else 
 rndf=1000 
EndIf 
 
;UPDATE CAMERA ON 50hz 
 If MilliSecs()-LastUpdateCamera>20 Then  
  ;<=update camera code here 
 LastUpdateCamera=MilliSecs() 
 If Rendered>0 Then Rendered=Rendered-1  
 EndIf 
;RENDRING  
 If Rendered<=0 Then  
 RenderWorld()  
 RenderTime=MilliSecs()-RenderTime 
 RenderTime=(RenderTime+LastRenderTime)/2 
 
;FPS COUNTER- NOT NEADED, JUST FOR INFORMATION 
 FPS=FPS+1 
 If MilliSecs()>MS+1000 Then 
 MS=MilliSecs() 
 MaxFPS=FPS 
 FPS=0 
 EndIf 
 
 Text 10,10,"speed: "+100000/rndf +"%" 
 Text 10,50,"FPS: "+MaxFPS 
 
 Flip 0  
 Rendered=RenderTime/10 
 LastRenderTime=RenderTime 
 EndIf  
 
Wend 
End
Тогда этот код буду "прикручивать" к игре.

То есть этим методом ФПС контролировать!

Спасибо за ответ
(Offline)
 
Ответить с цитированием