Hilfe bin neu!!!!

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

basti-91

Betreff: Hilfe bin neu!!!!

BeitragSo, Aug 19, 2007 22:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich bin ziemlich neu in den Programmierekreisen und hab nur ein paar erfahrungen mit dem Sinclair ZX Spectrum Basic.
Ich wollte eine animierte Figur nach links und rechts laufen lassen aber ich bekomme immer nur eine Fehlermeldung beim Start.

Hier mal der Code:
Code: [AUSKLAPPEN]

Graphics 800, 600, 0, 2
SetBuffer BackBuffer()

ClsColor 255, 255, 255
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

bild = LoadAnimImage("batmanmove.bmp", 93, 72, 0, 6)
bild2 = LoadAnimImage("batmanmove2.bmp", 93, 72, 0, 6)
bild3 = LoadImage("batmanstay.bmp")


;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

MaskImage bild, 0, 255, 0
MaskImage bild2, 0, 255, 0
MaskImage bild3, 0, 255, 0

;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
timer=CreateTimer(60)




While Not KeyHit(1)

   If KeyDown(203) n=n-1 : x=x-3 : DrawImage bild2, x, 200,n : If n<0 Then n=6
   If KeyDown(205) n=n+1 : x=x+3 : DrawImage bild, x, 200,n : If n>6 Then n=0


Color 0,0,0
FlushKeys
If KeyDown(203)=0 And KeyDown(205) = 0 Then
DrawImage bild3, x, 200
EndIf


Rect 0,254, 800, 300 ,1
   
   WaitTimer(timer)

   
   Flip 0
   Cls
Wend
End

Abrexxes

BeitragMo, Aug 20, 2007 1:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Sind die Bilder im Gleichen Ordner?
Was sagt er denn wenn du mit DEBUG = ON compilierst ?

Ansonsten gib mal die Bilder dazu.

cu

ChaosCoder

BeitragMo, Aug 20, 2007 1:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Außerdem wird die Framezahl der Bilder falsch berechnet, diese gehen von 0 bis anzahl_der_frames-1 also in
deinem fall von 0 bis 5. das machst du in der abfrage jedoch falsch:
Code: [AUSKLAPPEN]
If KeyDown(203) n=n-1 : x=x-3 : DrawImage bild2, x, 200,n : If n<0 Then n=6
If KeyDown(205) n=n+1 : x=x+3 : DrawImage bild, x, 200,n : If n>6 Then n=0

richtig müsste es heißen:
Code: [AUSKLAPPEN]
If KeyDown(203) n=n-1 : x=x-3 : DrawImage bild2, x, 200,n : If n<0 Then n=5
If KeyDown(205) n=n+1 : x=x+3 : DrawImage bild, x, 200,n : If n>5 Then n=0

MfG
Chaos
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

D2006

Administrator

BeitragMo, Aug 20, 2007 2:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du neu bist, warum postest du dann nicht im Beginner-Bereich?

~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

basti-91

BeitragMo, Aug 20, 2007 13:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich bekomme immer folgende Fehlermeldung
"not enough frames in bitmap"

@D2006 sorry bin halt neu und kenn mich in eurem Forum noch nicht so richtig aus.[/code]

Abrexxes

BeitragMo, Aug 20, 2007 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
If KeyDown(203) n=n-1 : x=x-3 : If n<0 Then n=6: DrawImage bild2, x, 200,n
   If KeyDown(205) n=n+1 : x=x+3 : If n>6 Then n=0 : DrawImage bild, x, 200,n


Dann versuch es doch mal so. Eine Zahlenkontrolle ( if n<0) nutzt relativ wenig wenn sie erst gemacht wird nachdem alles vorbei ist.

cu

basti-91

BeitragMo, Aug 20, 2007 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich schon ausprobiert das funktioniert auch nicht ich bekomme immer noch dieselbe fehlermeldung kann es sein das die bIlder zu groß sin denn bei 32x32 Bildern funktioniert der Code.

Abrexxes

BeitragMo, Aug 20, 2007 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach alles in eine zip und lade es hoch, wir haben keine Lust mehr zu raten. Wink

basti-91

BeitragMo, Aug 20, 2007 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
ok ich habs hochgeladen

Abrexxes

BeitragMo, Aug 20, 2007 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 800, 600, 0, 2
SetBuffer BackBuffer()

ClsColor 255, 255, 255
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

bild = LoadAnimImage("batmanmove.bmp", 60, 93, 0, 6)  ; Breite der Bilder anpassen !
bild2 = LoadAnimImage("batmanmove2.bmp",60, 93, 0, 6)
bild3 = LoadImage("batmanstay.bmp")


;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

MaskImage bild, 255,0,255 ; nicht 0,255,0 !
MaskImage bild2, 255,0,255
MaskImage bild3, 255,0,255
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
timer=CreateTimer(60)




While Not KeyHit(1)

If KeyDown(203) Then
n=n-1
   x=x-3
      If n<0 Then n=5
      DrawImage bild2, x, 200,n
EndIf


If KeyDown(205) Then
n=n+1
   x=x+3
      If n>5 Then n=0
      DrawImage bild, x, 200,n
EndIf





;Color 0,0,0
FlushKeys
If KeyDown(203)=0 And KeyDown(205) = 0 Then
DrawImage bild3, x, 200
EndIf

Delay 50 ;nur damit es ohne framelimit nicht zu schnell ist
;Rect 0,254, 800, 300 ,1  ;denn Boden mach nacher an die richtige Stelle

WaitTimer(timer)


Flip 0
Cls
Wend
End


So denn Rest solltest du selbst rausfinden. Wink

basti-91

BeitragMo, Aug 20, 2007 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
läuft danke Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group