Abstürtze

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Abstürtze

Beitrag von Lukas-P »

Ich hab da ma ein Problem. Wenn ich diesen Code Complimiere stürtzt das Prog nach einer Zeit ab. Wieso??

Code: Alles auswählen

InitSprite()
InitMouse()
InitKeyboard()

OpenWindow(1,100,100,640,480,0,"L-P ImageEditor")
OpenWindowedScreen(WindowID(),0,0,640,480,0,0,0)


LoadImage(1,"pinsel/1.bmp")
pinselgros=ImageID() 

Structure malen_struc 
x.w
y.w
EndStructure 
NewList malen.malen_struc() 



Repeat
FlipBuffers() 

ExamineMouse()
If MouseButton(1)
AddElement(malen())
malen()\x=MouseX()
malen()\y=Mousey()
EndIf



StartDrawing(ScreenOutput())

ForEach malen()
DrawImage(pinselgros,malen()\x,malen()\y)
Next malen()

StopDrawing()


Delay(10)
Until KeyboardPushed(#PB_Key_Escape)


Danke schonmal im Voraus!!!!
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Auf den ersten Blick fehlt ExamineKeyboard() und das
überprüfen von Rückgabewerten.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
bluejoke
Beiträge: 1244
Registriert: 08.09.2004 16:33
Kontaktdaten:

Beitrag von bluejoke »

Wenn du das Programm mal im Debug-Modus ausprobierst wirst du schnell sehen, dass du ExamineKeyboard() vergessen hast.

Füg das einfach for deinem Until KeyboardPushed... ein.

Jetzt funktioniert immerhin das Beenden.
Mehr kann ich dir nicht helfen.


EDIT: Na toll! da weiß man mal was los ist, und kriegt nicht einmal die chance es zu beweisen.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

Schalt mal den Debugger an ;-)

Der spuckt mir direkt als erstes aus, dass ein ExamineKeyboard() fehlt. Als nächstes dann das Bild, aber das ist ja klar, hab ich ja nicht. Schnell durch ein CreateImage ersetzt tätigt aber das selbe Ergebnis, Programm stürZt ab :(

Kenn mich leider zu wenig mit Screen-Programmierung aus
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Beitrag von Lukas-P »

das examinekeyboard() hab ich gerade ausversehen weg gemacht, im Code bei mir is das aber noch drinn.
Benutzeravatar
Danilo
-= Anfänger =-
Beiträge: 2284
Registriert: 29.08.2004 03:07

Beitrag von Danilo »

Auf den 2. Blick seh ich noch das es ein WindowedScreen ist,
also fehlt die Event-Verarbeitung mit WindowEvent().

Das dürfte auch der Grund für den Abstürz sein.

Trotzdem solltest Du die Rückgabewerte alle überprüfen,
vom Initialisieren über Screen öffnen, Image laden usw..

Path-Angaben wie "pinsel/1.bmp" sehen nach Linux aus,
hab aber gehört (jedoch nicht überprüft) das es auf Windows
auch so geht.
Da hilft es eben auch die Rückgabewerte zu checken, z.B. ob
das Bild geladen werden konnte.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Beitrag von Lukas-P »

Ay danke jetzt klappt es. Das sieht jetzt so aus:

Code: Alles auswählen

InitSprite()
InitMouse()
InitKeyboard()

OpenWindow(1,100,100,640,480,0,"L-P ImageEditor")
OpenWindowedScreen(WindowID(),0,0,640,480,0,0,0)


LoadImage(1,"pinsel/1.bmp")
pinselgros=ImageID() 

Structure malen_struc 
x.w
y.w
EndStructure 
NewList malen.malen_struc() 



Repeat
FlipBuffers() 

If WindowEvent()=#PB_Event_Repaint
else

ExamineMouse()
If MouseButton(1)
AddElement(malen())
malen()\x=MouseX()
malen()\y=Mousey()
EndIf



StartDrawing(ScreenOutput())

ForEach malen()
DrawImage(pinselgros,malen()\x,malen()\y)
Next malen()

StopDrawing()


Delay(10)

endif

ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)
Antworten