Seite 1 von 2

Was ist falsch an meinem Code?

Verfasst: 14.09.2004 16:11
von polo-mo
Hi Leute.

Also erstmal grundlegendes:
Ich will ein kleines Game proggen, wo aus 9 Hüten Köpfe kommen und man diese schlagen muss. Ich hab mit einem 3d Programm einen Kopf erstellt, 2-D Bilder davon gemacht und will diese Hüten kommen lassen.

Aber soweit reicht mein Problem noch gar nicht:
Wenn ich die Bilder der Köpfe laden will, kommt ein Auszug des Codes, wo die Zeile

Code: Alles auswählen

 LoadSprite(30+x,"felix" + Str(x) + ".jpg",0)
schwarz hinterlegt ist.

Hier der Teil, wo anscheinend der Fehler steckt... :? Ich verstehs nicht.

Code: Alles auswählen

InitSprite()


OpenScreen(1024,768,16,"Hau den Felix!")

LoadSprite(0,"background.jpg",0)
For x = 0 To 9 
 LoadSprite(30+x,"felix" + Str(x) + ".jpg",0)
 TransparentSpriteColor(30+x,255,0,255)
Next
For x=1 To 4
LoadSprite(10+x,"gfx/hammer"+Str(x)+".jpg",0)
TransparentSpriteColor(10+x,255,255,255)
Next
LoadSprite(20,"gfx/felixflach.jpg",0)
TransparentSpriteColor(20,255,255,255)

[/code]


Ach ja, ich arbeite noch nicht so lange mit Purebasic, hab aber schon mit leichteren Programmierprogrammen Erfahrung.

Verfasst: 14.09.2004 16:15
von remi_meier
Hi
Ich nehme mal an, dass diese Zeile im Debuggerfenster schwarz markiert ist. Schau mal was in der Statusleiste des Debuggerfensters steht, er kann die Bilder wahrscheinlich nicht laden.

greetz
remi

Verfasst: 14.09.2004 16:16
von Franky
Dir fehlt auf jeden fall schon mal ein JPEGImageDecoder(), bevor du die sprites laden kannst.

Ansonsten, welchen fehler gibt dir der Debugger denn aus?

>>Edit:Verflucht seist du remi :twisted:

Verfasst: 14.09.2004 16:44
von polo-mo
Ok, danke schonmal.

Unten im Debuggerfenster steht: Sprite filename not found!

...Oh ja, jetzt sehe ich meinen Fehler. Die Zeile for x=0 to 9 müsste for x= 1 to 9 heißen - klar dass es die Datei felix0.jpg nicht findet... :|

Nja, auf jeden Fall danke dass ihr trotz meiner Dummheit geantwortet habt^^ Wäre trotzdem nett, wenn ihr den Thread erstmal für den Fall weiterer Fehler offen lassen würdet! :D

Verfasst: 14.09.2004 16:50
von Rob
Weitere Fehler in dem kurzen Codeschnipsel sind wohl recht unwahrscheinlich.

Mach besser für jede Frage einen eigenen Thread auf, so kann man leichter suchen.

Verfasst: 14.09.2004 16:51
von freedimension
polo-mo hat geschrieben:Wäre trotzdem nett, wenn ihr den Thread erstmal für den Fall weiterer Fehler offen lassen würdet! :D
Was zahlst du mir? :mrgreen:

Übrigens, solange jemand aus seinen Fehlern lernt, ist es nicht weiter schlimm wenn er hier postet, wie dämlich das Problem auch sein mag.

*sichoutend*: Auch ich saß schonmal mindestens eine halbe Stunde vor einem Code mit ähnlichem Fehler.

Verfasst: 14.09.2004 17:00
von polo-mo
dann bin ich ja beruhigt^^

Verfasst: 14.09.2004 22:57
von polo-mo
Okay, kleine Frage. Bin ja nun doch noch ziemlicher Anfänger in PB. Gibt es irgendeine Art von Delay, wo man aber die Maus trotzdem noch weiterbewegen kann und das Spiel z.B. per Escape beenden kann(das Beenden ist hier nicht gefragt, nur wie man die Maus während eines Delays bewegen kann, bzw. wie man das umgehen kann...

Verfasst: 14.09.2004 23:02
von sbehrens
polo-mo hat geschrieben:Gibt es irgendeine Art von Delay, wo man aber die Maus trotzdem noch weiterbewegen kann und das Spiel z.B. per Escape beenden kann
Den

Code: Alles auswählen

Delay(x)
Befehl kannst du ohne Probleme einsetzen, ohne dass man eigentlich merkt, das überhaupt ein Delay() im Prog ist, außer das die Prozessorauslastung deutlich sinkt! (zB. von 100% auf 5% oder sogar weniger) Ich persönlich benutze immer einen Delay von 20ms, im Forum sehe ich eigentlich nur 1ms Delays.

mfG
Basti

Verfasst: 14.09.2004 23:09
von polo-mo
okay danke, hab aber meine frage nicht kobkret genug gemacht^^.
Ich will, dass sich eine Variable autmomatisch nur jede x Millisekunden, oder auch wenn der Spieler auf einen bestimmten Knopf drückt, ändert. Die Millisekunden hätte ich gerne von einer Variablen abhängig, aber ich habe im Moment keinen blassen Schimmer wie ich das Ganze anstellen soll(auch das mit dem Drücken)...