Code: Alles auswählen
EnableExplicit
Enumeration
#schiff=1
EndEnumeration
Define sx.l=640/2,sy.l=400,links.l=#PB_Key_Left,rechts.l=#PB_Key_Right,sspeed=2
If InitSprite()=0:End:EndIf
If InitKeyboard()=0:End:EndIf
OpenWindow(0,100,100,700,500,"Galaxy")
If Not OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0):End:EndIf
;If Not OpenScreen(640,480,32,""):End:EndIf
CreateSprite(#schiff,32,32)
;hier wird normalerweise mittels LoadSprite eun Sprite in 32*32 geladen
StartDrawing(SpriteOutput(#schiff))
Box(0,0,32,32,$808080)
StopDrawing()
Repeat
FlipBuffers()
ClearScreen(RGB(0,0,0))
ExamineKeyboard()
If KeyboardPushed(links)
If sx>=sspeed
sx-sspeed
EndIf
EndIf
If KeyboardPushed(rechts)
If sx<=640-32-sspeed
sx+sspeed
EndIf
EndIf
DisplaySprite(#schiff,sx,sy)
Until KeyboardPushed(#PB_Key_Escape)
PUREBASIC0 verursachte einen Fehler durch eine ungültige Seite
in Modul KERNEL32.DLL bei 016f:bff9db61.
Register:
EAX=c00301a8 CS=016f EIP=bff9db61 EFLGS=00010206
EBX=0104fe28 SS=0177 ESP=00f4fdf0 EBP=00f5008c
ECX=00000000 DS=0177 ESI=00000000 FS=5b2f
EDX=bff76855 ES=0177 EDI=bff79198 GS=0000
Bytes bei CS:EIP:
53 8b 15 e4 9c fc bf 56 89 4d e4 57 89 4d dc 89
Stapelwerte:
Der Fehler tritt sowohl im Fullscreen- als auch im Winowedscreen-Modus auf.
Habe mit PB3.94 keinerlei Probleme, tritt nur bei PB4beta11 auf.
Ältere Betas hab ich leider nicht zum testen.
Ich benutze Win98SE auf PIII/667MHz mit 256 MB RAM und DirectX7,
tritt aber auch bei DirectX9 auf.
Könntet ihr das bitte mal testen?
Vielen Dank für eure Mühe.