animationen durch viele bmp bilder

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

animationen durch viele bmp bilder

Beitrag von captain third »

ich hab ein problem :roll: (oh nein nicht schon wieder :mrgreen: )

ich habe auch schon 2 tutorials durchgelesen,eins das ich bei purearea finden konnte und eins bei robsite...

und ein anderes hatte ich schon runtergeladen...also ich will ein bild animieren,ich hänge da schon seit 3 tagen....ich versuchs mit hilfe und halt mit tuts(bevor wieder jemand meggert :) ) naja,aber irgendwie bekomm ichs net animiertich hab da so einiges versucht,manchmal konnt ich mich auch einfach ohrfeign weil ich ein totaln falschn code geschnipselt habe...naja ich zeig euch mal meinen

Code: Alles auswählen

Enumeration 
  #Bild1 
  #Cursor 
  #x
EndEnumeration 

;-loading...,please wait :D
InitSprite()
OpenScreen(800,600,16,"Test")
FontID3 = LoadFont(3, "Digital", 10)
InitKeyboard()
InitMouse()
LoadSprite(#Bild1,"C:\UniMatrix\Welcome.bmp")
LoadSprite(#Cursor,"C:\Eigene Dateien\Eigene Bilder\ico\CircuitPhantom.ico.bmp")
For x=1 To 10
LoadSprite(#x+x,"C:\Eigene Dateien\Eigene Bilder\Buttons\KochendatenHand"+Str(x)+".bmp",0)
TransparentSpriteColor(#x+x,255,0,255)
Next x
TransparentSpriteColor(#Cursor,255,0,255)
TransparentSpriteColor(#Bild1,255,0,255)
Delay(1000)
MouseLocate(300,300)

;-Hauptschleife 1
;   
Repeat 
ClearScreen(0,0,0)
ExamineKeyboard()
ExamineMouse()
DisplayTransparentSprite(#x+x,200,200) 
DisplayTransparentSprite(#Bild1,100,100)                        ;erst die bilder im hintergrund laden
DisplayTransparentSprite(#Cursor,MouseX(),MouseY())    ; Dann die bilder laden die im vordergrund sein solln!!!
If MouseButton(1)
;-überüprüfung ob ein bild gedrückt worden ist 
 If SpriteCollision(#Bild1, 100, 100, #Cursor, MouseX(), MouseY())
  StartDrawing(ScreenOutput())
  FrontColor(0,128,0)
  BackColor(0,0,0)
  Locate(300,300)
  DrawText("Bild wurde gedrückt")
  StopDrawing()
 Else
  StartDrawing(ScreenOutput())
  FrontColor(0,128,0)
  BackColor(0,0,0)
  Locate(300,300)
  DrawText("Bild wurde nicht gedrückt")
  StopDrawing()   
 EndIf
EndIf 
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
CloseScreen()
End
hoffe ihr könnt mir helfen,das es sich animiert :cry:
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
KeyKon
Beiträge: 1412
Registriert: 10.09.2004 20:51
Computerausstattung: Laptop: i5 2,8 Ghz, 16GB DDR3 RAM, GeForce 555GT 2GB VRAM
PC: i7 4,3 Ghz, 32GB DDR3 RAM, GeForce 680 GTX 4GB VRAM
Win10 x64 Home/Prof
PB 5.30 (64bit)
Wohnort: Ansbach
Kontaktdaten:

Beitrag von KeyKon »

Du solltes vielleicht auch mal ein bisschen einrücken!
Ich weiß jetzt nicht so genau was dein Problem ist aber Animationen macht man am besten mi Arrays auf der seite von PureBasic ist glube ich so ein Tutorial mit einer Animation.

KeyKon
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

achso mit arrays,nagut danke für den tip ich gugge sofort
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

ai ne....das ist mein liebliengstutorial....weil alles detaliert drinne steht...und von da habe ich es mit dem animiern...

irgendwo da untn steht da
DisplayTransparentSprite(10 + Anim,PosX,PosY)
da wollt ich fragen was das mit dem anim auf sich hat???anim wird nämlich gar nicht erklärt...sofern ich richtig geguggt habe
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

kann mir keiner helfen oder will mir keiner helfen??? :cry:
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
Zaphod
Beiträge: 2875
Registriert: 29.08.2004 00:40

Beitrag von Zaphod »

ein beispiel ist sogar bei purebasic bei:

unter PureBasic\Examples\Sources - Advanced\Waponez II\Waponez II.pb
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

da wollt ich fragen was das mit dem anim auf sich hat???anim wird nämlich gar nicht erklärt...sofern ich richtig geguggt habe
Du hast richtig geguggt. Statt anim kannste auch theoretisch abcdxyz schreiben - des iss einfach ne zähler variable...

Code: Alles auswählen

 For anim = 0 to 50
   DisplayTransparentSprite( x + anim, PlayerX, PlayerY)
 Next
In dem Falle packst du den index des bildes allerdings NICHT in die enumeration! Du lädst die einzelbilder ebenfalls einfach mit ner For-Schleife, und lässt dabei das x einfach hochzählen.
Ergebnis:
Bei ner animation mit wie in dem Beispiel 51 Frames haste von da ab Bilder mit nem index von 0 bis 50 im speicher.
In der For-Schleife die die einzelbilder anzeigt werden eben diese 51 Bilder der Reihe nach geblitted.


Zu gut Deutsch:
Du benutzt in deinem Code zwar ebenfalls eine Zählervariable - x in diesem falle - welche aber immer 0 ist, ergo der bild index wird nicht geändert, es wird immer das selbe pic gezeigt.
Aus der enumeration solltest dus einfach deswegen rausnehmen, weil ich nicht weiß ob und wie des da als konstante gehandled wird.

Code verbesser ich dir jetz aber nicht, da das mit der erklärung (lies sie aufmerksam und frag nicht in 5 minuten nochmal ;)) ein klacks sein sollte.


Mfg
RaVeN
AMD Athlon64 3000+, 1024MB DDR-RAM, Geforce 8600GT, WinXP SP2, DirectX 9.0c, PureBasic 3.94
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

danke raven

ich versuchs :D
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

wuhaaa ich habs hinjekriegt....die animation aniniert.....GOOOOOIIILLL einfach nur geil...das läuft zwar jetzt stunden lang und ganz schnell aber es funktioniert...ma guggnwas man noch draus machen kann :mrgreen: :mrgreen: :mrgreen: :mrgreen: :coderselixir:
natoll,jetzt muss ich noch einen Rechner zusammenbaun der 24 stunden am Tag online ist und meinen Server für mein Projekt Order of Blance laufen lässt
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

ää .. kennst Du die puretools

die beinhalten animationen .. da kann man sich eventuell ne Menge Arbeit sparen.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten