Code für Animationen in PB3.3

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Code für Animationen in PB3.3

Beitrag von Groudon »

Kann mir jemand dan code für Animationen geben (bitte PB3.30 tauglich)
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Fahrradfahren?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Beitrag von Groudon »

für aus sprite1 ,sprite2 und sprite3 eine animation zu machen
sowas wie copysprite() nur halt eine animation
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Also einzelnen Frames (seperaten Sprites) einen Imagestrip machen und als Animation abspielen?
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Beitrag 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()
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Beitrag von Groudon »

der sagt dan den fehler:
"Sprite filename not found !"

meine datei heißt "held" genau wie im code
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag 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
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Beitrag 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
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Antworten