teste doch einfach mal kurz ob auch wirklich nichts schiefgelaufen ist.
kann man natürlich schöner schreiben, dient jetzt nur als test:
Code: Alles auswählen
If InitSprite() = 0
MessageRequester("", "InitSprite() Error")
End
EndIf
If InitKeyboard() = 0
MessageRequester("", "InitKeyboard() Error")
End
EndIf
If InitSprite3D() = 0
MessageRequester("", "InitSprite3D() Error")
End
EndIf
If OpenScreen(1024,768,16,"Hallo") = 0
MessageRequester("", "OpenScreen() Error")
End
EndIf
If CreateSprite(0,64,64,#PB_Sprite_Texture) = 0
MessageRequester("", "CreateSprite() Error")
End
EndIf
If StartDrawing(SpriteOutput(0)) = 0
MessageRequester("", "StartDrawing() Error")
End
EndIf
Box(0,0,64,64,RGB(255,0,0))
StopDrawing()
If CreateSprite3D(0,0) = 0
MessageRequester("", "CreateSprite3D() Error")
End
EndIf
Repeat
ExamineKeyboard()
If Start3D() = 0
MessageRequester("", "Start3D() Error")
End
EndIf
DisplaySprite3D(0,0,0,255)
Stop3D()
FlipBuffers()
Delay(10)
Until KeyboardPushed(1)
ich vermute, dass aus welchen gründen auch immer (treiber etc.), start3d nicht gestartet werden kann und deswegen das programm abstürzt.
man sollte bei Start3D(), StartDrawing() etc.
immer überprüfen, ob es auch geklappt hat, weil es ansonsten zu schlimmen abstürzen kommen kann. wenn z.b. Start3D() nicht "geöffnet" werden konnte, versuchst du dennoch mit DisplaySprite3D() ein sprite anzuzeigen und mit Stop3D() eine engine zu schliessen, welche nicht aktiv ist.
so wärst du auf der sicheren seite:
Code: Alles auswählen
If InitSprite() And InitSprite3D() And InitKeyboard() And OpenScreen(1024,768,16,"Hallo")
If CreateSprite(0,64,64,#PB_Sprite_Texture)
If StartDrawing(SpriteOutput(0))
Box(0,0,64,64,RGB(255,0,0))
StopDrawing()
EndIf
CreateSprite3D(0,0)
EndIf
Repeat
ClearScreen(0,0,0)
If IsSprite3D(0) And Start3D()
DisplaySprite3D(0,0,0,255)
Stop3D()
EndIf
FlipBuffers()
Delay(10)
ExamineKeyboard()
Until KeyboardPushed(1)
EndIf
c ya,
nco2k