ja ich weiß, das bin ich gerade am anschaun, ich versuch das auch alles zu verstehen + nachzuvollziehen, ich habe pb 4.20
Irgendwie ist windowed screen ein wenig buggy, vlt bilde ich mir das aber auch nur ein, ich habe ein bereits vorgegebenes spiel (eines aus nem tutorial) versucht, im windowed mode zu starten, doch wenn ich das spiel minimiere, dann hängt es sich auf, es hängt sich auch so manchmal auf, und ich kann mit der maus irgendwie nicht aus dem fenster hinaus navigieren.
Ich habe es ersteinmal (zumindest für heute, flachgelegt mein eigenes spiel zu machen, ich habe erkannt dass ich erstmal alles verstehen muss, daher arbeite ich mit einem "tutorial-spiel")
hier ist mal der quelltext:
Code: Alles auswählen
InitSprite()
InitKeyboard()
InitMouse()
OpenWindow(0, 0, 0, 1024, 768, "test screen", #PB_Window_ScreenCentered |#PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar)
OpenWindowedScreen(WindowID(0), 0, 0, 1024, 768, 0, 0, 0)
#Max_Fass = 20
Dim FassX.w(#Max_Fass)
Dim FassY.w(#Max_Fass)
Dim FassExist.w(#Max_Fass)
Dim FassAnim.w(#Max_Fass)
Global Level.w
Global Maus_Knopf.w
Global Punkte.w
Global FassCount.w
Global Durchgefallen.w
Level = 1
LoadSprite(0,"GFX\NeuKreuz.bmp",0)
TransparentSpriteColor(0,255+256*0+256*256*255)
LoadSprite(1,"GFX\Back.bmp" ,0)
For x = 1 To 10
LoadSprite(10+x,"GFX\Fass" + Str(x) + ".bmp",0)
TransparentSpriteColor(10+x,255+256*0+256*256*255)
Next
Repeat
ExamineMouse()
ExamineKeyboard()
If MouseButton(1) And Maus_Knopf = 0
Maus_Knopf = 1
For x = 1 To #Max_Fass
If FassExist(x) = 1 And MouseX() > FassX(x) And MouseX() < FassX(x) + 20 And MouseY() > FassY(x) And MouseY() < FassY(x) + 20
FassExist(x) = 2
Punkte = Punkte + 10
EndIf
Next
EndIf
If MouseButton(1) = 0
Maus_Knopf = 0
EndIf
DisplaySprite(1,0,0)
For x = 1 To #Max_Fass
If FassExist(x) > 0
DisplayTransparentSprite(10+FassAnim(x)/3,FassX(x),FassY(x))
EndIf
Next
DisplayTransparentSprite(0,MouseX()-32,MouseY()-32)
StartDrawing(ScreenOutput())
DrawingMode(1)
FrontColor(0+256*0+256*256*255)
DrawText(0,0,"Punkte:" + Str(Punkte))
FrontColor(255+256*0+256*256*0)
DrawText(530,0,"Durchgefallen:" + Str(Durchgefallen)) ; ...
StopDrawing()
FlipBuffers()
FassCount = 0
For x = 1 To #Max_Fass
If FassExist(x) > 0
FassCount = FassCount + 1
If FassExist(x) < 3
FassY(x) = FassY(x) + 1
EndIf
If FassExist(x) > 1
FassAnim(x) = FassAnim(x) + 1
If FassAnim(x) > 30
FassExist(x) = 0
EndIf
EndIf
If FassExist(x) = 1 And FassY(x) > 460
Durchgefallen = Durchgefallen + 1
FassExist(x) = 3
EndIf
EndIf
Next
If FassCount < Level
For x = 1 To #Max_Fass
If FassExist(x) = 0
FassExist(x) = 1
FassAnim(x) = 3
FassY(x) = -40
FassX(x) = Random(620)
x = #Max_Fass+1
EndIf
Next
EndIf
If (Punkte / 100) + 1 > Level
Level = Level + 1
EndIf
Until KeyboardPushed(1) Or Durchgefallen > 9
Delay(1000)
CloseScreen()
MessageRequester("Game Over", "Du hast " + Str(Punkte) + " Punkte erreicht",0)
und wie gesagt, da treten die oben genannten fehler auf und ich weiß leider nicht warum