Wieder Probleme!
Wieder Probleme!
Hi Leute. Sorry, dass ich euch mit ständigen Fragen nerve, aber ich find einfach keine Lösung! Was ist an dem Code falsch, dass der nicht funktioniert?
Code:
f 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, "Hamster1.bmp" ,0)=0
EndIf
If LoadSprite(1, "Hamster2.bmp" ,0)=0
EndIf
If LoadSprite(2, "Hamster3.bmp" ,0)=0
EndIf
TransparentSpriteColor(0, 255, 0, 128)
TransparentSpriteColor(1, 255, 0, 128)
TransparentSpriteColor(2, 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)
y-13
x+13
EndIf
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)
Code:
f 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, "Hamster1.bmp" ,0)=0
EndIf
If LoadSprite(1, "Hamster2.bmp" ,0)=0
EndIf
If LoadSprite(2, "Hamster3.bmp" ,0)=0
EndIf
TransparentSpriteColor(0, 255, 0, 128)
TransparentSpriteColor(1, 255, 0, 128)
TransparentSpriteColor(2, 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)
y-13
x+13
EndIf
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)
- freedimension
- Admin
- Beiträge: 1987
- Registriert: 08.09.2004 13:19
- Wohnort: Ludwigsburg
- Kontaktdaten:
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
Code: Alles auswählen
If InitSprite()=0
EndIf
If InitKeyboard()=0
EndIf
If InitSprite3D()=0
EndIf
If InitMouse()=0
EndIf - vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
Die Frage war wohl eher: "Wenn Du schon If/EndIf verwendest, warum dann nicht auch das Ergebnis auswerten?"Janiboy hat geschrieben:Nun ja, ich hab schon mal alles initialisiert, wenn ichs mal erweitere.
Andernfalls würde ja auch
Code: Alles auswählen
InitSprite() : InitKeyboard() : InitSprite3D() : InitMouse()
EDIT: Zu spät...
-
orange-blue
- Beiträge: 556
- Registriert: 04.09.2004 22:23
- Kontaktdaten:
ich schätze das du alle 3 animations stuffen anzeigen willst also würde ich mal das hier probieren:
dann finde ich ist das delay irgenwie unsinnig ist:
da wird das ganze programm lansamer so du kannst die animationsgeschwindigkeit nicht unabhängig von der abfrage der tastatur und der bewegung der Figur(Das würd ich sowieso ganz anders lösen, am einfachsten per zeitdifferenz oder komplizierter mit cpu geschwindigkeitsabfragen
).
Edit: Wenn du schon so abfrage machst würde ich auch ne messagebox benutzten um den fehler auszugeben, und das programm per End schließen
Code: Alles auswählen
AniFrame + 1
If AniFrame => 3 : AniFrame = 0 : EndIfda wird das ganze programm lansamer so du kannst die animationsgeschwindigkeit nicht unabhängig von der abfrage der tastatur und der bewegung der Figur(Das würd ich sowieso ganz anders lösen, am einfachsten per zeitdifferenz oder komplizierter mit cpu geschwindigkeitsabfragen
Edit: Wenn du schon so abfrage machst würde ich auch ne messagebox benutzten um den fehler auszugeben, und das programm per End schließen
