Seite 1 von 4

Code für Animationen in PB3.3

Verfasst: 12.09.2007 12:34
von Groudon
Kann mir jemand dan code für Animationen geben (bitte PB3.30 tauglich)

Verfasst: 12.09.2007 12:43
von Fluid Byte
Fahrradfahren?

Verfasst: 12.09.2007 12:48
von Groudon
für aus sprite1 ,sprite2 und sprite3 eine animation zu machen
sowas wie copysprite() nur halt eine animation

Verfasst: 12.09.2007 12:54
von Fluid Byte
Also einzelnen Frames (seperaten Sprites) einen Imagestrip machen und als Animation abspielen?

Verfasst: 12.09.2007 13:04
von STARGÅTE
im Prinzip kannst du das auch alleine :

Lade deine ganze Bilder hinereinander :

Code: Alles auswählen

For n = 1 to 10
 LoadSprite(n, "Bild"+str(n)+".bmp")
Next n
dann kommt das anzeigen :

Code: Alles auswählen

Repeat
 ClearScreen(0,0,0)
 Warten + 1
 If Warten > 30 :
  Warten = 0
  Bild = Bild + 1
  If Bild > 10 : Bild = 1 : EndIf
 EndIf
 DisplaySprite(Bild, x, y)
 FlipBUffers()
ForEver
WICHTIG: Nicht das du den Code jetzt ausführst, du musst ihn noch ergenzen, mit Tastaturabfragen, Screen offnen ....

Aber es geht so

Verfasst: 12.09.2007 13:29
von Groudon
Ich weis nicht genau wie ichs schreiben soll
kannst du es bitte da einfügen wo es hin soll und mir dann geben

Code: Alles auswählen

InitSprite()
InitKeyboard()

If OpenScreen(640,480,32,"Game") 
 CreateSprite(0,20,20) 
EndIf 


LoadSprite(#1,"teil 1.bmp",0)




;hier solls hin
 LoadSprite(2, "held1.bmp") 
  LoadSprite(3, "held2.bmp") 
   LoadSprite(4, "held3.bmp") 
;hier solls hin



Repeat 




ExamineMouse() 
ExamineKeyboard() 

DisplaySprite(#1,0,0)
DisplayTransparentSprite(#2,x1,y1) 


If KeyboardPushed(#PB_Key_Up ) 
;UND HIER SOLLS hin
  Y1-1
EndIf 

If KeyboardPushed(#PB_Key_Down ) 
  Y1+1
EndIf 

If KeyboardPushed(#PB_Key_Left ) 
  X1-1
EndIf    

If KeyboardPushed(#PB_Key_Right ) 
  X1+1   
EndIf




FlipBuffers()          

Until KeyboardPushed(1) 
CloseScreen()

Verfasst: 12.09.2007 13:44
von STARGÅTE

Code: Alles auswählen

InitSprite()
InitKeyboard()

If OpenScreen(640,480,32,"Game") 
 CreateSprite(0,20,20) 
EndIf 


; LoadSprite(#1,"teil 1.bmp",0)


For n = 1 to 3
 LoadSprite(n, "held"+str(n)+".bmp") 
Next n
Bild = 1


Repeat 




ExamineMouse() 
ExamineKeyboard() 

 ClearScreen(0,0,0)

; DisplaySprite(#1,0,0)

 DisplayTransparentSprite(Bild, X1, Y1) 

If KeyboardPushed(#PB_Key_Up ) 
 Warten + 1 
 If Warten > 30 : 
  Warten = 0 
  Bild = Bild + 1 
  If Bild > 3 : Bild = 1 : EndIf 
 EndIf 
 Y1-1
EndIf 

If KeyboardPushed(#PB_Key_Down ) 
  Y1+1
EndIf 

If KeyboardPushed(#PB_Key_Left ) 
  X1-1
EndIf    

If KeyboardPushed(#PB_Key_Right ) 
  X1+1   
EndIf




FlipBuffers()          

Until KeyboardPushed(1) 
CloseScreen()
Wenn du nun (#PB_Key_Up) drückst, verändert sich "Bild" und damit wechselt das Sprite. und er bewegt sich

Verfasst: 12.09.2007 13:54
von Groudon
der sagt dan den fehler:
"Sprite filename not found !"

meine datei heißt "held" genau wie im code

Verfasst: 12.09.2007 13:57
von STARGÅTE
lol du brauchst aber "held1.bmp", "held2.bmp" und "held3.bmp" als Sprites, sonst hast du ja keine Animation, wenn du immer das gleiche Sprite zeigst

Verfasst: 12.09.2007 14:03
von Groudon
ich hab jetz anstelle von

Code: Alles auswählen

For n = 1 To 3 
 LoadSprite(n, "held"+Str(n)+".bmp") 
Next n 
Bild = 1 
das eingegeben:

Code: Alles auswählen

For n = 1 To 3 
 LoadSprite(n, "held"+Str(n)+".bmp") 
Next n 
Bild = 1 
For n = 1 To 3 
 LoadSprite(n, "held1"+Str(n)+".bmp") 
Next n 
Bild = 2 
For n = 1 To 3 
 LoadSprite(n, "held2"+Str(n)+".bmp") 
Next n 
Bild = 3 
aber er sagt immernoch das da der fehler wäre