Verfasst: 03.01.2005 11:54
Wo genau wir den dieses abc = 1 eingesetzt? ansonsten ist denk ich alles richtig
Code: Alles auswählen
If InitSprite()=0
EndIf
If InitKeyboard()=0
EndIf
If InitSprite3D()=0
EndIf
If InitMouse()=0
EndIf
If OpenScreen(640, 480, 16, "Mein Spiel")=0
EndIf
If LoadSprite(0, "Panzer1.bmp" ,0)=0
EndIf
If LoadSprite(1, "Panzer2.bmp" ,0)=0
EndIf
If LoadSprite(2, "Panzer1.bmp" ,0)=0
EndIf
If LoadSprite(3, "Panzer2.bmp" ,0)=0
EndIf
If LoadSprite(4, "Panzer3.bmp" ,0)=0
EndIf
If LoadSprite(4, "Explosion.bmp" ,0)=0
EndIf
TransparentSpriteColor(0, 255, 0, 128)
TransparentSpriteColor(1, 255, 0, 128)
TransparentSpriteColor(2, 255, 0, 128)
TransparentSpriteColor(3, 255, 0, 128)
TransparentSpriteColor(4, 255, 0, 128)
TransparentSpriteColor(5, 255, 0, 128)
Repeat
If abc = 1
IsScreenActive()
ClearScreen(0,0,0)
DisplayTransparentSprite(AniFrame, x, y)
FlipBuffers()
Delay(200)
AniFrame + 1
If AniFrame => 6 : AniFrame = 0 : EndIf
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
x-1
EndIf
If KeyboardPushed(#PB_Key_Right)
abc = 1
EndIf
If Keyboardleased(#PB_Key_Right)
abc = 0
EndIf
If KeyboardPushed(#PB_Key_F5)
x+13
EndIf
If KeyboardPushed(#PB_Key_F6)
x-3
EndIf
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)
Code: Alles auswählen
;definieren der Spielkonstanten
#Title = "Mein Spiel" ;Name des Spiels
;Screengröße und Farbtiefe
#Width = 640
#Height = 480
#Depth = 16
#TimeToNextFrame = 200 ;Zeit in ms bis zum nächsten Animationsframe
;initialisieren und öffnen des Screens
If InitSprite() = #False Or InitSprite3D() = #False
MessageRequester(#Title, "Could not initialize DirectX 7 or higher!", #MB_OK | #MB_ICONERROR)
End
ElseIf InitSound() = #False
MessageRequester(#Title, "Could not initialize DirectX compatible Sound Card!", #MB_OK | #MB_ICONERROR)
End
ElseIf InitKeyboard() = #False
MessageRequester(#Title, "Could not initialize Keyboard!", #MB_OK | #MB_ICONERROR)
End
ElseIf InitMouse() = #False
MessageRequester(#Title, "Could not initialize Mouse!", #MB_OK | #MB_ICONERROR)
End
ElseIf OpenScreen(#Width, #Height, #Depth, #Title) = #False
MessageRequester(#Title, "Could not open Screen at "+Str(#Width)+"x"+Str(#Height)+"x"+Str(#Depth)+"!", #MB_OK | #MB_ICONERROR)
End
EndIf
;laden der Sprites
If LoadSprite(0, "Panzer1.bmp" ,0)=0
MessageRequester(#Title, "Could not load sprite 'Panzer1.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(1, "Panzer2.bmp" ,0)=0
MessageRequester(#Title, "Could not load sprite 'Panzer2.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(2, "Panzer1.bmp" ,0)=0
MessageRequester(#Title, "Could not load sprite 'Panzer1.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(3, "Panzer2.bmp" ,0)=0
MessageRequester(#Title, "Could not load sprite 'Panzer2.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(4, "Panzer3.bmp" ,0)=0
MessageRequester(#Title, "Could not load sprite 'Panzer3.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(5, "Explosion.bmp" ,0)=0
MessageRequester(#Title, "Could not load sprite 'Explosion.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
;setzten der transparenten Farbe
For Num = 0 To 5
TransparentSpriteColor(Num, 255, 0, 128)
Next
;TransparentSpriteColor(0, 255, 0, 128)
;TransparentSpriteColor(1, 255, 0, 128)
;TransparentSpriteColor(2, 255, 0, 128)
;TransparentSpriteColor(3, 255, 0, 128)
;TransparentSpriteColor(4, 255, 0, 128)
;TransparentSpriteColor(5, 255, 0, 128)
;Hauptschleife
Repeat
;Tastatur überprüfen
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left) ;Pfeiltaste links, Panzer langsam nach links bewegen
X-1
EndIf
If KeyboardPushed(#PB_Key_Right) ;Peiltaste rechts, Panzer animieren
MakeAni = #True
Else ;Pfeiltaste nicht gedrückt, Panzer nicht animieren
MakeAni = #False
EndIf
If KeyboardPushed(#PB_Key_F5) ;Taste F5, Panzer ganz schnell nach rechts bewegen
X+13
EndIf
If KeyboardPushed(#PB_Key_F6) ;Taste F6, Panzer schnell nach links bewegen
X-3
EndIf
If IsScreenActive() ;wenn der Screen aktive ist
ClearScreen(0, 0, 0)
If MakeAni = #True ;wenn die Animation getätigt werden soll
;ist die Startzeit + die Animationszeit kleiner, als die aktuelle Zeit
If Timer + #TimeToNextFrame <= ElapsedMilliseconds()
AniFrame + 1 ;setzte Animationsframe auf die nächste Animationsstufe
Timer = ElapsedMilliseconds() ;setzte Startzeit auf die aktuelle Zeit
EndIf
;wenn Animationsframe höher ist, als die existierenden Animationsframes,
;setzte den aktuellen Animationsframe auf das 1 Frame der Animation
If AniFrame => 6 : AniFrame = 0 : EndIf
Else
;wenn es keine Animation zur Zeit gibt, dann halte die Startzeit = der aktuellen Zeit
Timer = ElapsedMilliseconds()
EndIf
DisplayTransparentSprite(AniFrame, X, Y)
FlipBuffers()
EndIf
Until KeyboardPushed(#PB_Key_Escape) Code: Alles auswählen
If LoadSprite(3, "Panzer2.bmp" ,0)=0
EndIf
If LoadSprite(4, "Panzer3.bmp" ,0)=0
EndIf
If LoadSprite(4, "Explosion.bmp" ,0)=0
EndIf Code: Alles auswählen
TransparentSpriteColor(0, 255, 0, 128)
TransparentSpriteColor(1, 255, 0, 128)
TransparentSpriteColor(2, 255, 0, 128)
TransparentSpriteColor(3, 255, 0, 128)
TransparentSpriteColor(4, 255, 0, 128)
TransparentSpriteColor(5, 255, 0, 128)Code: Alles auswählen
Repeat
If abc = 1 ;Punkt 1.
IsScreenActive() ;Punkt 2.
ClearScreen(0,0,0)
DisplayTransparentSprite(AniFrame, x, y)
FlipBuffers()
Delay(200) ;Punkt 3.
AniFrame + 1
If AniFrame => 6 : AniFrame = 0 : EndIf
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
x-1
EndIf
If KeyboardPushed(#PB_Key_Right)
abc = 1
EndIf
If Keyboardleased(#PB_Key_Right) ;Punkt 4.
abc = 0
EndIf
If KeyboardPushed(#PB_Key_F5)
x+13
EndIf
If KeyboardPushed(#PB_Key_F6)
x-3
EndIf
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)
Code: Alles auswählen
If KeyboardPushed(#PB_Key_Right)
abc = 1
EndIfCode: Alles auswählen
If OpenScreen(640, 480, 16, "Mein Spiel")=0
EndIf
#TimeToNextFrame = 200
If InitSprite() = #False Or InitSprite3D() = #False
MessageRequester("Fehler", "Could Not initialize DirectX 7 Or higher!", #MB_OK |#MB_ICONERROR)
End
ElseIf InitSound() = #False
MessageRequester("Fehler", "Could Not initialize DirectX compatible Sound Card!", #MB_OK | #MB_ICONERROR)
End
ElseIf InitKeyboard() = #False
MessageRequester("Fehler", "Could Not initialize Keyboard!", #MB_OK | #MB_ICONERROR)
End
ElseIf InitMouse() = #False
MessageRequester("Fehler", "Could Not initialize Mouse!", #MB_OK | #MB_ICONERROR)
End
EndIf
If OpenScreen(640, 480, 16, "Mein Spiel") = #False
MessageRequester("Fehler", "Could Not open Screen at "+Str(640)+"x"+Str(480)+"x"+Str(16)+"!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(0, "Panzer1.bmp" ,0)=0
MessageRequester("Fehler", "Could Not load sprite 'Panzer1.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(1, "Panzer2.bmp" ,0)=0
MessageRequester("Fehler", "Could not load sprite 'Panzer2.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(2, "Panzer1.bmp" ,0)=0
MessageRequester("Fehler", "Could not load sprite 'Panzer1.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(3, "Panzer2.bmp" ,0)=0
MessageRequester("Fehler", "Could not load sprite 'Panzer1.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(4, "Panzer3.bmp" ,0)=0
MessageRequester("Fehler", "Could not load sprite 'Panzer3.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(4, "Explosion.bmp" ,0)=0
MessageRequester("Fehler", "Could not load sprite 'Explosion.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
For Num = 0 To 5
TransparentSpriteColor(Num, 255, 0, 128)
Next
TransparentSpriteColor(0, 255, 0, 128)
TransparentSpriteColor(1, 255, 0, 128)
TransparentSpriteColor(2, 255, 0, 128)
TransparentSpriteColor(3, 255, 0, 128)
TransparentSpriteColor(4, 255, 0, 128)
TransparentSpriteColor(5, 255, 0, 128)
Repeat
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
x-1
EndIf
If KeyboardPushed(#PB_Key_Right)
MakeAni = #True
EndIf
End
MakeAni = #False
End
If KeyboardPushed(#PB_Key_F5)
x+13
End
If KeyboardPushed(#PB_Key_F6)
x-3
End
If IsScreenActive()
ClearScreen(0,0,0)
If MakeAni = #True
If Timer + #TimeToNextFrame
AniFrame + 1
EndIf
If AniFrame => 6 : AniFrame = 0 : EndIf
Else
EndIf
DisplayTransparentSprite(AniFrame, x, y)
FlipBuffers()
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)
Code: Alles auswählen
If OpenScreen(640, 480, 16, "Mein Spiel")=0
EndIf Code: Alles auswählen
If OpenScreen(640, 480, 16, "Mein Spiel") = #False
MessageRequester("Fehler", "Could Not open Screen at "+Str(640)+"x"+Str(480)+"x"+Str(16)+"!", #MB_OK | #MB_ICONERROR)
End
EndIf Code: Alles auswählen
If LoadSprite(4, "Panzer3.bmp" ,0)=0
MessageRequester("Fehler", "Could not load sprite 'Panzer3.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIf
If LoadSprite(4, "Explosion.bmp" ,0)=0
MessageRequester("Fehler", "Could not load sprite 'Explosion.bmp'!", #MB_OK | #MB_ICONERROR)
End
EndIfCode: Alles auswählen
For Num = 0 To 5
TransparentSpriteColor(Num, 255, 0, 128)
Next
TransparentSpriteColor(0, 255, 0, 128)
TransparentSpriteColor(1, 255, 0, 128)
TransparentSpriteColor(2, 255, 0, 128)
TransparentSpriteColor(3, 255, 0, 128)
TransparentSpriteColor(4, 255, 0, 128)
TransparentSpriteColor(5, 255, 0, 128)Code: Alles auswählen
For Num = 0 To 5
TransparentSpriteColor(Num, 255, 0, 128)
NextCode: Alles auswählen
Repeat
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
x-1
EndIf
If KeyboardPushed(#PB_Key_Right)
MakeAni = #True
EndIf
End
MakeAni = #False
End
If KeyboardPushed(#PB_Key_F5)
x+13
End
If KeyboardPushed(#PB_Key_F6)
x-3
End
If IsScreenActive()
ClearScreen(0,0,0)
If MakeAni = #True
If Timer + #TimeToNextFrame
AniFrame + 1
EndIf
If AniFrame => 6 : AniFrame = 0 : EndIf
Else
EndIf
DisplayTransparentSprite(AniFrame, x, y)
FlipBuffers()
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)