Game wird immer langsamer
Übersicht

FiveBetreff: Game wird immer langsamer |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
ich habe vor 3 Tagen mit Blitz Basic angefangen. Nun bin ich auch soweit gekommen das ich einen Teil meines ersten Spieles fertig habe... doch ich hab das problem das das spiel mit der Zeit langsamer wird.. ich hab mir Blitz 3D Demo runtergeladen (Und ich kauf mir auf jeden fall die Vollversion hab nie gedacht das es so geil ist.. ) Hier mein code (wahrscheinlich noch sehr unübersichtlich ^^) Zitat: Graphics 640, 480, 16, 2 ;-------------------------------------------------------------------- ;-------------------------------------------------------------------- Main (240,440,200,0,300,440,200,440,5) ;-------------------------------------------------------------------- ;-------------------------------------------------------------------- Function Main (sx,sy,bx,by,srx,sry,slx,sly,speed) SetBuffer BackBuffer() Repeat Cls SchlaegerMain = LoadImage("main.bmp") DrawImage SchlaegerMain, sx, sy SchlaegerRechts = LoadImage ("rechts.bmp") DrawImage SchlaegerRechts, srx, sry SchlaegerLinks = LoadImage ("links.bmp") DrawImage SchlaegerLinks, slx, sly Ball = LoadImage ("ball.bmp") DrawImage Ball, bx, by ;-------------------------------------Steuerung If KeyDown (203) sx= sx -10 srx= srx -10 slx= slx -10 ElseIf KeyDown (205) sx= sx +10 srx = srx +10 slx = slx +10 EndIf ;------------------------------------Schläger trifft Wand If sx <= 40 sx=40 Else If sx >= 540 sx = 540 EndIf If srx <= 100 srx=100 Else If srx >= 600 srx = 600 EndIf If slx <= 0 slx=0 Else If slx >= 500 slx = 500 EndIf ;-------------------------------------Ball fällt If Trigger = 0 by = by + speed ElseIf Trigger = 1 by = by - speed EndIf ;-------------------------------------Ball trifft decke If by <= 0 Trigger = 0 EndIf ;-------------------------------------Ball trifft Schläger If ImagesCollide(Ball, bx, by, 0, SchlaegerMain, sx, sy, 0) Then Trigger = 1 If ImagesCollide(Ball, bx, by, 0, SchlaegerRechts, srx, sry, 0) Then Trigger = 1 If ImagesCollide(Ball, bx, by, 0, SchlaegerLinks, slx, sly, 0) Then Trigger = 1 If ImagesCollide(Ball, bx, by, 0, SchlaegerRechts, srx, sry, 0) Then If fly =0 fly = 1 ElseIf fly = 1 fly = 1 ElseIf fly = -1 fly = 0 EndIf If ImagesCollide(Ball, bx, by, 0, SchlaegerLinks, slx, sly, 0) Then If fly =0 fly = -1 ElseIf fly = -1 fly = -1 ElseIf fly = +1 fly =0 EndIf If fly = 1 bx = bx +2 ElseIf fly = -1 bx = bx -2 EndIf ;------------------------------------------------------------Ball trifft Wand If bx = 0 fly = + 1 ElseIf bx = 620 Fly = -1 EndIf Flip Until KeyHit(1) End Function End Hier sind die bmp´s --> Jetzt sind es halt jpg´s ^^ ![]() ![]() ![]() ![]() Sorry wenn das ne blöde frage ist, aber ich hab halt erst vor kurzem angefangen.... thx.. |
||
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, ich hab nur eines schon gesehen:
Du musst die Bilder nur einmal vor der Schleife laden. |
||
- Zuletzt bearbeitet von Hagbard am So, Apr 18, 2010 13:16, insgesamt einmal bearbeitet
![]() |
DerHase |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich nehme an, dass es daran liegt, dass Du die Grafiken nicht nur einmal lädst sondern in jedem Schleifendurchgang. Du brauchst eine Grafik nur einmal zu laden und sie wird im Speicher bleiben, bis Du sie mit FreeImage wieder löscht. | ||
Play Satyr! |
FiveBetreff: DANKE!!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab´s jetzt verändert und es klappt ^^ ich danke euch !!
ich hab das schonmal versucht nur ich habe dann gleich alles vor die schleife geschrieben.. also auch das DrawImage ... dann kam halt garnix.. ![]() mir fehlt halt noch etwas das verständniss dafür (doch es wird immer besser^^) thx a lot... ![]() |
||
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
nur ein anhang falls du mal function's benutzt wenn du innerhalb einer function des image benutzen willst so mach diese image global
z.b. global meinbild=loadimage("C:\bild.bmp") dann kannst du es im gesammten programm nutzen. |
||
![]() |
FreetimeCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Hier mein code (wahrscheinlich noch sehr unübersichtlich ^^)
Tipp: Rücke den Code ein: Code: [AUSKLAPPEN] If Blabla=1
DiesundDas=1 ElseIf BlaBla=2 If Blablaunddies=2 DiesundDas=2 Else DiesundDas=3 EndIf EndIf Code: [AUSKLAPPEN] Repeat
;BLABLA ;eingerückt Until KeyHit(1) usw. Das macht den Code übersichtlicher. Besonders, wenn du viel Code hast. |
||
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte: Dexterity Ball (100%) Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz (ehemals Uboot) PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group