Code für Animationen in PB3.3

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

STARGÅTE hat geschrieben:schreibs ihn mal in 3.3 um, ich kann gerade nicht, bin für 2h weg
Du meinst das bei OpenWindow() Fenstername und Flags vertauscht werden müssen? Nö, kann er auch selber (glaub ich).
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Beitrag von Groudon »

da hast du falsch geglaubt
ich kann das noch nicht ich bin erst 12
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Groudon hat geschrieben:ich bin erst 12
oh... dann ist mir allerdings verständlicher, warum du dich etwas "tappsig" anstellst.

ich hab z.Zt. kein 3.3 zur Hand, kanns also nicht ändern.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

so hier 3.3 :

Code: Alles auswählen

InitSprite() : InitKeyboard()

OpenWindow(0,0,0,640,480,#PB_Window_SystemMenu,"void")
OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0)

TempDir$ = ""

CreateSprite(0,64,64)
StartDrawing(SpriteOutput(0))
Circle(32,32,32,255)
StopDrawing()
SaveSprite(0,TempDir$ + "tmpsprite1.bmp") : FreeSprite(0)

CreateSprite(1,64,64)
StartDrawing(SpriteOutput(1))
Circle(32,32,24,200)
StopDrawing()
SaveSprite(1,TempDir$ + "tmpsprite2.bmp") : FreeSprite(1)

CreateSprite(2,64,64)
StartDrawing(SpriteOutput(2))
Circle(32,32,16,150)
StopDrawing()
SaveSprite(2,TempDir$ + "tmpsprite3.bmp") : FreeSprite(2)

CreateSprite(3,64,64)
StartDrawing(SpriteOutput(3))
Circle(32,32,8,90)
StopDrawing()
SaveSprite(3,TempDir$ + "tmpsprite4.bmp") : FreeSprite(3)


For i=0 To 3
	LoadSprite(i,TempDir$ + "tmpsprite" + Str(i+1) + ".bmp")
Next

Repeat
	EventID = WindowEvent()
	
	ClearScreen(128,128,128)
	
	ExamineKeyboard()
	
	DisplaySprite(AnimFrame,10,10)
			
	AnimDelay + 1
		
	If AnimDelay = 10
		AnimDelay = 0
		AnimFrame + 1				
	EndIf
		
	If AnimFrame = 4 : AnimFrame = 0 : EndIf
	
	FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or EventID = #PB_Event_CloseWindow
Aber ob ihm das hilft? ^^

Aber du hast immer noch nicht meine Frage beantwortet :

Bitte gebe mir die genauen Datennamen die du verwenden willst
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 »

wenn ichs in diesen code tuhe funktionierts nicht(ist immomen drin):

Code: Alles auswählen

If InitMouse() = 0 Or InitSprite() = 0 Or InitKeyboard() = 0
  MessageRequester("Error", "Can't open DirectX 7 Or later", 0) 
  End 
EndIf 





If OpenScreen(640, 480, 16, "Jump and Run")

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

LoadSprite(#3,"haus1.bmp",0)
LoadSprite(#5,"baum1.bmp",0) 

LoadSprite(#4,"held.bmp",0)
LoadSprite(#6,"heldhinten.bmp",0)

LoadSprite(#7,"1234.bmp",0) 
LoadSprite(#8,"1234.bmp",0) 

LoadSprite(#10,"helm1.bmp",0)
LoadSprite(#11,"tor.bmp",0)


TempDir$ = "" 

CreateSprite(0,64,64) 
StartDrawing(SpriteOutput(0)) 
Circle(32,32,32,255) 
StopDrawing() 
SaveSprite(0,TempDir$ + "tmpsprite1.bmp") : FreeSprite(0) 

CreateSprite(1,64,64) 
StartDrawing(SpriteOutput(1)) 
Circle(32,32,24,200) 
StopDrawing() 
SaveSprite(1,TempDir$ + "tmpsprite2.bmp") : FreeSprite(1) 

CreateSprite(2,64,64) 
StartDrawing(SpriteOutput(2)) 
Circle(32,32,16,150) 
StopDrawing() 
SaveSprite(2,TempDir$ + "tmpsprite3.bmp") : FreeSprite(2) 

CreateSprite(3,64,64) 
StartDrawing(SpriteOutput(3)) 
Circle(32,32,8,90) 
StopDrawing() 
SaveSprite(3,TempDir$ + "tmpsprite4.bmp") : FreeSprite(3) 


For i=0 To 3 
   LoadSprite(i,TempDir$ + "tmpsprite" + Str(i+1) + ".bmp") 
Next


  Repeat 
    

      
    FlipBuffers() 
    
    ClearScreen(0,0,0) 
          

    ExamineKeyboard()
DisplaySprite(#1,0,0)
DisplaySprite(#2,320,0)
DisplaySprite(#1,320,240)
DisplaySprite(#2,0,240)
DisplayTransparentSprite(#3,100,150)
DisplayTransparentSprite(#3,400,300) 
DisplayTransparentSprite(#4,x1,y1)
DisplayTransparentSprite(#8,x1,y1) 
DisplayTransparentSprite(#5,250,150) 
DisplayTransparentSprite(#11,280,0) 


If KeyboardPushed(#PB_Key_Up ) 
CopySprite(#6,#4)
  Y1-1
EndIf 
If KeyboardPushed(#PB_Key_Down ) 
  CopySprite(#7,#4)
  Y1+1
EndIf
If KeyboardPushed(#PB_Key_Left ) 
  X1-1
EndIf 
If KeyboardPushed(#PB_Key_Right ) 
  X1+1   
EndIf
   AnimDelay + 1 
    If KeyboardPushed(#PB_Key_A)   
    AnimDelay = 10 
      AnimDelay = 0 
      AnimFrame + 1             
   
   EndIf 

                           
     









;HAUS NICHT DRÜBER LAUFEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;HAUS NICHT DRÜBER LAUFEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;HAUS NICHT DRÜBER LAUFEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If SpritePixelCollision(#4, x1, y1, #3, 100, 150)
If KeyboardPushed(#PB_Key_Up ) 
  Y1+3
EndIf 

If KeyboardPushed(#PB_Key_Down ) 
  Y1-3
EndIf 

If KeyboardPushed(#PB_Key_Left ) 
  X1+3
EndIf    

If KeyboardPushed(#PB_Key_Right ) 
  X1-3   
EndIf
EndIf

If SpritePixelCollision(#4, x1, y1, #3, 400, 300)
If KeyboardPushed(#PB_Key_Up ) 
  Y1+3
EndIf 

If KeyboardPushed(#PB_Key_Down ) 
  Y1-3
EndIf 

If KeyboardPushed(#PB_Key_Left ) 
  X1+3
EndIf    

If KeyboardPushed(#PB_Key_Right ) 
  X1-3   
EndIf
EndIf
;HAUS NICHT DRÜBER LAUFEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;HAUS NICHT DRÜBER LAUFEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;HAUS NICHT DRÜBER LAUFEN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!




  
  Until KeyboardPushed(#PB_Key_Escape) 
  
Else 
  MessageRequester("Error", "Can't open a 640*480 - 16 bit screen !", 0) 
EndIf 

End

If InitSprite() = 0 Or InitKeyboard() = 0 
  MessageRequester("Error", "Can't open DirectX 7 Or later", 0) 
  End 
EndIf 
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

dies #1, #2, #3 etc...

das sind alles konstanten, und die haben alle den wert 0.

entweder du nimmst einfache zahlen, also ohne den lattenzaun,
oder du nimmst beschreibende konstanten, denen du vorher verschiedene werte zuweisen musst.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

nene KG

in 3.3 ist eine Konstante ohne Buchstabe gleich die selbe Zahl

Code: Alles auswählen

debug #1
debug #23
debug #6

ergibt 1, 23, 6
also das funzt schon ^^
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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

wasn krampf... is doch total unnütz
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

nanana^^

erst mal "war doch total unnütz"

zum zweiten ist das garnicht schlecht.

Einer wie, der ungern vor ab irgendwas definieren will, sonder einfach benutzen will, sind diese Konstanten recht pracktisch, weil man sie nutzen kann ohne sie zu definieren, aber gleichzeitig schon einen Wert bekommen haben, und eine andere SyntaxFarbe haben als Zahlen ohne #
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 »

egal was ich mache der sagt immer :"Sprite fliename not found !"


und markiert ist diese stelle :

Code: Alles auswählen

   LoadSprite(i,TempDir$ + "tmpsprite" + Str(i+1) + ".bmp") 
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Antworten