Dauernde Bewegung
Dauernde Bewegung
Hi,
ich möchte sone art Bildschirmschoner programmieren. Die Animation gibts bereits, aber wie bekomm ich die Sprite dazu, sich dauernd zu bewegen und nicht nur einmal? Schleife klappt irgendwie nicht.
ich möchte sone art Bildschirmschoner programmieren. Die Animation gibts bereits, aber wie bekomm ich die Sprite dazu, sich dauernd zu bewegen und nicht nur einmal? Schleife klappt irgendwie nicht.
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
Also... lade z.B. alle Stufen deiner Animation asl #Sprite 1 -9
...Müsste so funktionieren
Code: Alles auswählen
x = 1
Repeat
DisplaySprite(x,POSX,POSY)
If x = 9
y = 1
EndIf
If x = 1
y = 0
EndIf
If y = 0
x+1
EndIf
If y = 1
x-1
EndIf
Forever
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
TransparentSpriteColor(0, 255, 0, 128)
TransparentSpriteColor(1, 255, 0, 128)
Repeat
If IsScreenActive()
ClearScreen(0,0,0)
DisplayTransparentSprite(AniFrame, x, y)
FlipBuffers()
Delay(200)
AniFrame + 1
If AniFrame => 2 : AniFrame = 0 : EndIf
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
x-1
EndIf
If KeyboardPushed(#PB_Key_Right)
x+1
EndIf
If KeyboardPushed(#PB_Key_F5)
x+13
EndIf
If KeyboardPushed(#PB_Key_F6)
x-3
EndIf
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)
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
TransparentSpriteColor(0, 255, 0, 128)
TransparentSpriteColor(1, 255, 0, 128)
Repeat
If IsScreenActive()
ClearScreen(0,0,0)
DisplayTransparentSprite(AniFrame, x, y)
FlipBuffers()
Delay(200)
AniFrame + 1
If AniFrame => 2 : AniFrame = 0 : EndIf
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
x-1
EndIf
If KeyboardPushed(#PB_Key_Right)
x+1
EndIf
If KeyboardPushed(#PB_Key_F5)
x+13
EndIf
If KeyboardPushed(#PB_Key_F6)
x-3
EndIf
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
achso...
Verstanden?
Code: Alles auswählen
Initialisieren...
die beiden sprites laden...
Repeat
If abc = 1
ANIMATION WIRD FORTGESETZT
EndIf
If TASTEGEDRÜCKT
abc = 1
EndIf
If TasteLosgelassen (Keyboardreleased())
abc = 0
EndIf
Until KayboardReleased(#PB_Key_Escape)
-
DarkDragon
- Beiträge: 6291
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
hast du denn kein ExamineKeyboard einmal in der Schleife?Janiboy hat geschrieben:Verstanden ja, aber dann sagt der Debugger immer: Until KeyboardPushed(#PB_KEY_ESCAPE) wär falsch. ???
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.