Miksi kyseinen ohjelmapätkä, johon olen lisännyt pari omaa juttua vaikuttaa oudosti fps:ään?
Eli luodaan 50 vihollista, jotka liikkuvat ja kääntyvät pelaajaa kohti tietyn etäisyyden päästä.
Kun pelaaja kulkee vihollislauman läpi, huomaa kuinka, joka kerta fps tipahtaa alaspäin.
Mikä koodissa syö nopeutta?
Code: Select all
SCREEN 1200,600,32,2
SetWindow "KOE",3,"Tallensitko Pelin?"
'Vihu engine. copyright to Ukkeli. Ei saa copy-pastea ilman tätä!
FrameLimit 70 'limit game speed
'luo uuden tyypin
Type vihut
Field obj
End Type
ukko=LoadObject("media\guy.bmp", 72)
vihu=LoadObject("media\soldier.bmp", 72)
ShowObject vihu, OFF
For v=1 To 50
vih.vihut = New(vihut)
vih\obj=CloneObject(vihu)
PositionObject vih\obj,Rand(150,-150),Rand(200,-200)
SetupCollision vih\obj,ukko,2,2,2
'ObjectPickable vih\obj,1 'pixel-perfect
Next v
Repeat
If UpKey() Then MoveObject ukko,10
If DownKey() Then MoveObject ukko,-10
If LeftKey() Then TurnObject ukko,5
If RightKey() Then TurnObject ukko,-5
For vih.vihut = Each vihut
välimatka=Distance2(ukko,vih\obj)
If välimatka<100 Then
MoveObject vih\obj, 3
PointObject vih\obj, ukko
For Bvihut.vihut = Each vihut
If Bvihut <> vih Then SetUpCollision Bvihut\obj, vih\obj, 2,2,2
Next Bvihut
End If
Next vih
Text 10,10,FPS()
DrawScreen
Forever