Ich bin Programmier- Neuling, und habe folgendes Problem: Wenn ich ein (für mein Verständniss) einfaches Programm im
Openscreen-modus schreibe, und es kompiliere, dann läuft das programm erst wie vorhergesehen. Nach kurzer Zeit
läuft es dann allerdings sehr langsam und man kann den Maus Cursor kaum noch bis garnicht bewegen.
Meine Frage: Ist vielleicht ne blöde Frage, aber kann es sein das dass vielleicht an meinem Prozessor liegt? Ich habe
einen Celeron E3300 2X2,5 GHz Prozessor.
Habe wirklich nur sehr wenig bis gar keine ahnung vom programmieren.
Wie kann ich verhindern das mein Programm unterschiedlich schnell läuft?
Über Antworten und Anregungen würde ich mich sehr freuen.
Code: Alles auswählen
Global menu.b = 1
Global test.b = 0
Global exit.b = 0
Global sound_button.b = 0
Global Bild_x
Global Bild_y
If InitKeyboard() = 0
EndIf
If InitMouse() = 0
EndIf
If InitSound() = 0
EndIf
If InitSprite() = 0
EndIf
If UsePNGImageDecoder() = 0
EndIf
Procedure menu()
ClearScreen(RGB(0,0,50))
ExamineKeyboard()
ExamineMouse()
mouse_x = MouseX()
mouse_y = MouseY()
If SpriteCollision(0,mouse_x,mouse_y,1,550,500)
DisplayTransparentSprite(2,550,500)
EndIf
DisplayTransparentSprite(1,550,500)
If SpriteCollision(0,mouse_x,mouse_y,1,550,500) And MouseButton(#PB_MouseButton_Left)
PlaySound(0)
test = 1
menu = 0
EndIf
If SpriteCollision(0,mouse_x,mouse_y,1,550,640)
DisplayTransparentSprite(2,550,640)
EndIf
DisplayTransparentSprite(1,550,640)
If SpriteCollision(0,mouse_x,mouse_y,1,550,640) And MouseButton(#PB_MouseButton_Left)
PlaySound(0)
menu = 0
exit = 1
EndIf
StartDrawing(ScreenOutput())
DrawingMode(1)
DrawText(610,515,"Play",RGB(0,0,0),RGB(255,255,255))
DrawText(610,655,"Exit",RGB(0,0,0),RGB(255,255,255))
StopDrawing()
DisplayTransparentSprite(0,mouse_x,mouse_y)
If KeyboardPushed(#PB_Key_Escape)
menu = 0
exit = 1
EndIf
FlipBuffers()
EndProcedure
Procedure test()
ClearScreen(RGB(50,50,220))
ExamineKeyboard()
ExamineMouse()
mouse_x = MouseX()
mouse_y = MouseY()
If mouse_x > 150 And mouse_x < 250
Bild_x = 1
EndIf
StartDrawing(ScreenOutput())
DrawingMode(1)
Box(150,50,1000,1000,RGB(250,30,50))
StopDrawing()
If SpriteCollision(0,mouse_x,mouse_y,1,550,800)
DisplayTransparentSprite(2,550,800)
EndIf
DisplayTransparentSprite(1,550,800)
If SpriteCollision(0,mouse_x,mouse_y,1,550,800) And MouseButton(#PB_MouseButton_Left)
PlaySound(0)
menu = 1
test = 0
EndIf
StartDrawing(ScreenOutput())
DrawingMode(1)
DrawText(610,615,"Bild_x" + Str (Bild_x),RGB(0,0,0),RGB(255,255,255))
DrawText(610,715,"Bild_y",RGB(0,0,0),RGB(255,255,255))
DrawText(610,815,"Zurück",RGB(0,0,0),RGB(255,255,255))
StopDrawing()
DisplayTransparentSprite(0,mouse_x,mouse_y)
If KeyboardPushed(#PB_Key_Escape)
test = 0
exit = 1
EndIf
FlipBuffers()
EndProcedure
OpenScreen(1280,1024,32,"xx")
LoadSprite(0,GetCurrentDirectory()+"graphics\main\cursor.png")
LoadSprite(1,GetCurrentDirectory()+"graphics\main\button.png")
LoadSprite(2,GetCurrentDirectory()+"graphics\main\button_layer.png")
TransparentSpriteColor(0,RGB(255,255,255))
TransparentSpriteColor(1,RGB(255,255,255))
TransparentSpriteColor(2,RGB(255,255,255))
LoadSound(0,GetCurrentDirectory()+"sounds\TIC.wav")
Repeat
While menu = 1
menu()
Wend
While test = 1
test()
Wend
Until exit = 1