Code für Animationen in PB3.3

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Beitrag von gnasen »

Groudon hat geschrieben:

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
Du hast da einen Denkfehler drin.
Du willst die Variable"Bild" benutzen, um dem Programm zu sagen, welches Bild er laden soll. Ist okay.
Aber beim Laden eines Bildes
LoadSprite(n, "held2"+Str(n)+".bmp")
kommt diese Variable gar nicht vor.

Du hast das ganze sogar doppelt gemoppelt, indem du sagst:
"held2"+Str(n)+".bmp" was dieses ergibt: held21.bmp, held22.bmp, held23.bmp

Du musst nur den geposteten Code nochmal benutzen und, wie Stargate schon sagte, die passenden Dateien in dem Ordner erstellen (Held1.bmp, Held2.bmp....)
Sollte es nicht funktionieren -> Debugger benutzen.
Von dem kannst du genauere Informationen bekommen, welche Datei er jetzt genau nicht finden kann.
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Beitrag von Groudon »

die dateien hab ich schon erstell .sorry aber ich versteh noch nit so viel davon
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

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
schau dir das mal richtig an
die laedst jetzt 3x spritenummer 1-3 ..warum?
und wozu setxt du die variable "Bild" ..so sinnlos

lies dir erstmal das handbuch durch

zudem wuerde ich dann spaeter auf spritenummern verzichten
und die sprites in ein array laden
for i=1 to 3
held.l(x)=LoadSprite(#pb_any, "held"+Str(n)+".bmp")
next
amiga rulez...
Rebirth Software
Benutzeravatar
Groudon
Beiträge: 55
Registriert: 05.06.2007 19:12
Kontaktdaten:

Beitrag von Groudon »

ich benutz das weil stargate es mir gesagt hat und denk daran das ich PB3.30 benutze
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
xperience2003
Beiträge: 972
Registriert: 04.10.2004 18:42
Computerausstattung: Amiga, LinuxMint, Windows7
Wohnort: gotha
Kontaktdaten:

Beitrag von xperience2003 »

ich benutz das weil stargate es mir gesagt
..hoffentlich sagt er nicht "spring aus dem fenster" :twisted: :lol:
amiga rulez...
Rebirth Software
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Fangen wir doch mal bei NULL an ^^

Was hast du für Bilder ?

Bitte Liste hier mal alle Bilder auf die du verwenden willst, danke
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 »

also: bmp dateien(sprites),
Ich hab auch ein eigenes Forum:
www.g-f.de.am
ich benutze Version3.30
also bitte codes dafür benutzbar machen danke
Benutzeravatar
Kiffi
Beiträge: 10711
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

STARGÅTE hat geschrieben:Bitte Liste hier mal alle Bilder auf die du verwenden willst, danke
a²+b²=mc²
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

<-- Hose nass vor Lachen...

@Groudon:
Ich denke das ist was du willst:

Code: Alles auswählen

InitSprite() : InitKeyboard()

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

TempDir$ = GetTemporaryDirectory()

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($804020)
	
	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
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 »

schreibs ihn mal in 3.3 um, ich kann gerade nicht, bin für 2h weg
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
Antworten