Spiel wird langsamer?
Verfasst: 16.11.2008 15:00

Klappt auch alles nur wird es irgendwie immer langsamer je länger es läuft.
Vielleicht kann jemand schon am Code erkennen woran es liegt.Wie gesagt ich fange gerade erst an mich darein zu denken.
Wenn ihr ein ausführbares beispiel haben wollt sagt bescheid.
Code: Alles auswählen
Enumeration
#screen
#back1
#back2
#logo
#base1
#base2
#base3
#overlay1
#overlay3d1
#rahmen1
#rahmen2
#rahmen3
#movie1
#sound1
#soundclick
#kugel1
#kugel2
#kugel3
#kugel4
;---
#maus
#mausclick
EndEnumeration
Structure fields
posix.l
posiy.l
EndStructure
NewList kugel1.fields()
NewList kugel2.fields()
NewList kugel3.fields()
NewList kugel4.fields()
a=0
UsePNGImageDecoder()
UseJPEGImageDecoder()
UseOGGSoundDecoder()
InitMovie()
InitKeyboard()
InitMouse()
InitSprite()
InitSprite3D()
InitSound()
If OpenScreen(800,600,32,"")
;-Sprites einbinden
;SetFrameRate(25)
CatchSprite(#back2,?back2)
CatchSprite(#base1,?base1)
CatchSprite(#logo,?logo)
CatchSprite(#kugel1,?kugel1)
CatchSprite(#kugel2,?kugel2)
CatchSprite(#kugel3,?kugel3)
CatchSprite(#kugel4,?kugel4)
CatchSprite(#maus,?maus)
;----
CreateSprite(#overlay1,800,620,#PB_Sprite_Texture)
CreateSprite3D(#overlay3d1,#overlay1)
CreateSprite3D(#overlay3d1,#overlay1)
;-----
LoadMovie(#movie1,"inc/movs/smoke1.mpg")
LoadSound(#sound1,"inc/sounds/ss00384.ogg", #PB_Sound_Streaming)
LoadSound(#soundclick,"inc/sounds/lighter-click.ogg")
SoundVolume(#sound1,30)
;-------
PlaySound(#sound1 );-Hintergrunsmusik
PlayMovie(#movie1, #PB_Movie_Rendered );-Hintergrundvideo
TransparentSpriteColor(#maus,$FFFFFF)
TransparentSpriteColor(#base1,$000000)
;-
Dim kugeln(40,40)
For c=0 To 10
For d=1 To 18
kugeln(c, d) =Random(3)+1
Next d
Next c
Repeat
a=a+1
FlipBuffers()
ClearScreen(RGB(0,0,0))
ExamineKeyboard()
ExamineMouse()
RenderMovieFrame(#movie1,SpriteID(#overlay1))
DisplaySprite(#back2,0,0)
If a<=186
If a=62
PlayMovie(#movie1, #PB_Movie_Rendered )
ElseIf a=124
PlayMovie(#movie1, #PB_Movie_Rendered )
EndIf
Start3D()
DisplaySprite3D(#overlay3d1,0,-10,55)
Stop3D()
Else
FreeMovie(#movie1)
;DisplayTransparentSprite(#logo,800/2-320,600/2-220)
Restore lev0
c=0
d=0
For b=120 To 560 Step 40
d=0
For a=0 To 760 Step 40
Read wert.l
If wert=5:DisplaySprite(#base1,a,b)
EndIf
If kugeln(c,d) = 1
DisplayTransparentSprite(#kugel1,a,b)
AddElement(kugel1())
kugel1()\posix=a
kugel1()\posiy=b
EndIf
If kugeln(c,d) = 2
DisplayTransparentSprite(#kugel2,a,b)
AddElement(kugel2())
kugel2()\posix=a
kugel2()\posiy=b
EndIf
If kugeln(c,d) = 3
DisplayTransparentSprite(#kugel3,a,b)
AddElement(kugel3())
kugel3()\posix=a
kugel3()\posiy=b
EndIf
If kugeln(c,d) = 4
DisplayTransparentSprite(#kugel4,a,b)
AddElement(kugel4())
kugel4()\posix=a
kugel4()\posiy=b
EndIf
d=d+1
Next
c=c+1
Next
;-maus
DisplayTransparentSprite(#maus,MouseX(),MouseY())
If MouseButton(#PB_MouseButton_Left)
SoundVolume(#soundclick,60)
PlaySound(#soundclick)
EndIf
;----
EndIf
;-Collisonsabfrage
ResetList(kugel1())
ResetList(kugel2())
ResetList(kugel3())
ResetList(kugel4())
While NextElement (kugel1())
If SpritePixelCollision(#kugel1,kugel1()\posix,kugel1()\posiy,#maus,MouseX(),MouseY())
EndIf
Wend
While NextElement (kugel2())
If SpritePixelCollision(#kugel2,kugel2()\posix,kugel2()\posiy,#maus,MouseX(),MouseY())
EndIf
Wend
While NextElement (kugel3())
If SpritePixelCollision(#kugel3,kugel3()\posix,kugel3()\posiy,#maus,MouseX(),MouseY())
EndIf
Wend
While NextElement (kugel4())
If SpritePixelCollision(#kugel4,kugel4()\posix,kugel4()\posiy,#maus,MouseX(),MouseY())
EndIf
Wend
;------------------
;Hier werden die FPS berechnet und angezeigt
fps:
If Val(FormatDate("%ss", Date()))=sek
fps+1
Else
FPS$=Str(fps)
fps=0
EndIf
sek=Val(FormatDate("%ss", Date()))
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Transparent)
FrontColor(RGB(255,255,255))
DrawText(331,21,"FPS: "+FPS$)
StopDrawing()
If KeyboardPushed(#PB_Key_Escape) ; drücken Sie Esc zum Beenden
FreeSound(#sound1):FreeMovie(#movie1)
End
EndIf
ForEver
EndIf
DataSection
back2:
IncludeBinary "inc/img/back1.jpg"
base1:
IncludeBinary "inc/img/rand.jpg"
logo:
IncludeBinary "inc/img/Logo.png"
kugel1:
IncludeBinary "inc/img/1.bmp"
kugel2:
IncludeBinary "inc/img/2.bmp"
kugel3:
IncludeBinary "inc/img/3.bmp"
kugel4:
IncludeBinary "inc/img/4.bmp"
maus:
IncludeBinary "inc/img/maus.png"
;-level0
lev0:
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5
Data.l 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5
EndDataSection