Programmbeschleunigung
Übersicht

![]() |
US-Blitzehemals "SimssmiS"Betreff: Programmbeschleunigung |
![]() Antworten mit Zitat ![]() |
---|---|---|
mein problem ich würde gerne minnigames programieren die auch auf alten pcs laufen bsp bubblecube wers kennt
bereits dieser simple code: Code: [AUSKLAPPEN] Graphics 1280,1024,32,3
SetBuffer BackBuffer() ClsColor 255,255,255 sicht=LoadImage ("Bilder\Sicht.bmp") char=LoadImage ("Bilder\char.bmp") Boden=LoadImage ("Bilder\Boden.bmp") MaskImage sicht,255,255,255 MaskImage char,255,255,255 Levelload$=Input ("Welchen Level willst du Spielen ") Level=LoadImage ("Bilder\Level\Bilder\"+Levelload+".bmp") MaskImage Level,255,255,255 x=0 y=-440 Repeat Cls If y>=505 Then win=1 If KeyHit(200) And ImagesCollide(char,640,505,0,Level,x,y+40,0)=0 Then y=y+40 If KeyHit(203) And ImagesCollide(char,640,505,0,Level,x+40,y,0)=0 Then x=x+40 If KeyHit(208) And ImagesCollide(char,640,505,0,Level,x,y-40,0)=0 Then y=y-40 If KeyHit(205) And ImagesCollide(char,640,505,0,Level,x-40,y,0)=0 Then x=x-40 DrawImage boden,x+1,y DrawImage Level,x,y DrawImage char,640,505 DrawImage sicht,0,1 Flip Until KeyHit(1) Or win=1 If win=1 Then RuntimeError "You have Won Congratulations" Else RuntimeError "Bye Bye" End bereitet probleme wird zb auf links (200) gedrückt wird y erst viel später um 40 erhöht könnt ihr mir helfen und tipps geben |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
ImagesCollide![]() Denk dir ein besseres System aus, mache immer erst simple Näherungen bevor du genau Prüfungen mit rechenintensiven Funktionen machst. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] If KeyHit(200)
If ImagesCollide(char,640,505,0,Level,x,y+40,0)=0 Then y=y+40 End If If KeyHit(203) If ImagesCollide(char,640,505,0,Level,x+40,y,0)=0 Then x=x+40 End If If KeyHit(208) If ImagesCollide(char,640,505,0,Level,x,y-40,0)=0 Then y=y-40 End If If KeyHit(205) If ImagesCollide(char,640,505,0,Level,x-40,y,0)=0 Then x=x-40 End If dieses sollte auch schon wesentlich schneller sein, da Imagecollide nurausgeführt wird wenn die Taste tatsächlich gedrückt wurde! Denn bei AND wird auche die zweite bearbeitet , egal ob die erste stimmt oder nicht! |
||
[BB2D | BB3D | BB+]
|
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
AND wird optimiert, wenn die erste Bedingung nicht zutrifft wird vorzeitig abgebrochen. | ||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das gilt zwar in anderen Programmiersprachen (zB auch BlitzMax), in BlitzBasic ist das aber nicht der Fall, wie folgender kurzer Code demonstriert:
BlitzBasic: [AUSKLAPPEN] If test()=1 And test()=1 And test()=1 mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, da verwechselte ich das wohl mit Java ![]() |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Seid doch mal ehrlich:
An den von euch angesprochenen Punkten wird es eher nicht liegen, da es keine hohen Objektzahlen gibt. (Es gibt noch nicht einmal Objekte!) Ich denke, dass es eher daran liegt, dass das Programm zu schnell läuft und gebremst werden sollte: BlitzBasic: [AUSKLAPPEN] Local timer%=CreateTimer(60) Warum das Flip ohne die 0 aber nicht 'bremst', weiß ich aber auch nicht. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
US-Blitzehemals "SimssmiS" |
![]() Antworten mit Zitat ![]() |
---|---|---|
leider ist bremsen keine lösung nutze seit heute auch fps anzeigen leider kann ichs am alten pc nicht testen da dieser nicht hier ist auf jeden fall auch ein anderes spiel was ich schon auf 60 fps gebremst hatte lief nicht
vlt liegts auch nicht am spiel sondern an der hardware denn das spiel selber lief flüssig also die bewegung etc doch tastatureingaben wurden erst sekunden später erkannt und ausgeführt |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
@mpmxyz: Das Programm läuft zu schnell, und darum wird der Tastendruck später ausgeführt? Wo ist da die Logik? ![]() Aber ja: Timer + Flip(0) ist immer ein guter Hinweis. Trotzdem halte ich das Bildschirmfüllende Bild als Level für das Problem. Testen ob die Tastatur mit einem simplen Blitz-Programm ohne Verzögerung Arbeitet. Super wären auch ausführlichere Erklärungen als "lief nicht", vorteilhafter weise mit Satzzeichen, sonst wird's mir persönlich zu schwer dir zu helfen, US-Blitz. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group