animationen durch viele bmp bilder

Für allgemeine Fragen zur Programmierung mit PureBasic.
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

@bobobo:

Puretools schön und gut - verwende ich ja auch, allein der übersicht wegen, aber man sollte zumindest ein system das dahinter steckt verstanden haben und nicht gleich die abkürzung nehmen - ist zumindest meine meinung


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 »

puretools??? bestimmt auf purearea.net ich guck da gleich mal nach... :mrgreen:

[Edit]
mmh ich habe nix gefunden das mir die arbeit ersparen könnte,wegn animation mein ich jetzt
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 »

RaVeN99 hat geschrieben:@bobobo:

Puretools schön und gut - verwende ich ja auch, allein der übersicht wegen, aber man sollte zumindest ein system das dahinter steckt verstanden haben und nicht gleich die abkürzung nehmen - ist zumindest meine meinung


RaVeN
logisch .. geb ich Dir Recht , besonders auch im Hinblick auf
Aktualisierungen der UserLibs,Dll's für neuere PB-Versionen
(Da kann es zu Problemen kommen wenn die Userlibs nicht
mit weitergepflegt werden).
Aber deshalb darf man die Puretools trotzdem verwenden.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
RaVeN99
Beiträge: 310
Registriert: 29.08.2004 15:26
Wohnort: Weiden i.d.OPF
Kontaktdaten:

Beitrag von RaVeN99 »

@Captain:
Wenn du wirklich nix finden solltest (was eigtl nicht der fall sein sollte) gugg einfach mal in die signatur von danilo ;)

@bobobo:
Klar darf man sie verwenden, hab ja nie was anderes gesagt, zumal ich se selber hernehm, nur der lerneffekt iss halt gleich null wenn man sie von anfang an verwendet :)


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 »

so wieder ein problem...ich habe ja viele bmp bilder....6 um genau zu sein...und die heisen "maus1,maus2,maus3 usw .bmp" und sie sind im gfx odner...also muss ich ja schreiben "gfx\maus"+Str(x)".bmp" denn die pb datei ist in dem ordner mit drinne also C:\test\test.pb und der gfx ordner ist in C:\test\gfx\ so jetzt kommt der script

Code: Alles auswählen

InitSprite()
For x=1 To 6
LoadSprite(5+x,"gfx\maus"+Str(x)+".bmp",0)
TransparentSpriteColor(6+x,255,0,255)
Next x
InitMouse()
InitKeyboard()
;------------------------------------------------
TimeDelay.l=30 
MasterTimer.l=GetTickCount_() 
;------------------------------------------------

OpenScreen(800,600,16,"Test")
Repeat
ExamineMouse()
ExamineKeyboard()
For anim=1 To 6
DisplayTransparentSprite(x+anim,MouseX(),MouseY())
Next anim
FlipBuffers()
;--------------------------------------------------------------
TimeDelay=GetTickCount_()-MasterTimer 
  MasterTimer=GetTickCount_() 
  FrameRate.f=1000/TimeDelay 
;--------------------------------------------------------------
Until KeyboardPushed(#PB_Key_Escape)
CloseScreen()
End
so jetzt das problem...:er kann gleich das erste bild (maus1.bmp") nicht finden,oder laden...aber ich habe ausgetestet er kann alle nicht finden alle 6,mein ziel dabei wahr es eigentlich den fps script auszutesten den ich bei purearea gefundn habe....warum kann er die bilder nicht laden???
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
crossroads
Beiträge: 244
Registriert: 29.08.2004 05:41
Wohnort: Rhine Main Area

Beitrag von crossroads »

captain third hat geschrieben:so wieder ein problem...ich habe ja viele bmp bilder....6 um genau zu sein...und die heisen "maus1,maus2,maus3 usw .bmp" und sie sind im gfx odner...also muss ich ja schreiben "gfx\maus"+Str(x)".bmp" denn die pb datei ist in dem ordner mit drinne also C:\test\test.pb und der gfx ordner ist in C:\test\gfx\ so jetzt kommt der script

...
...

so jetzt das problem...:er kann gleich das erste bild (maus1.bmp") nicht finden,oder laden...aber ich habe ausgetestet er kann alle nicht finden alle 6,mein ziel dabei wahr es eigentlich den fps script auszutesten den ich bei purearea gefundn habe....warum kann er die bilder nicht laden???
OpenScreen() muß vor LoadSprite() aufgerufen werden (siehe auch PB-Hilfe)!

Code: Alles auswählen

If InitSprite() = 0 Or InitMouse() = 0 Or InitKeyboard()  = 0
  End
EndIf 
OpenScreen(800,600,16,"Test") 
TransparentSpriteColor(-1,255,0,255)
For x=1 To 6 
LoadSprite(5+x,"gfx\maus"+Str(x)+".bmp",0) 
Next x 
;------------------------------------------------ 
TimeDelay.l=30 
MasterTimer.l=GetTickCount_() 
;------------------------------------------------ 

Repeat 
ExamineMouse() 
ExamineKeyboard() 
For anim=1 To 6 
DisplayTransparentSprite(x+anim,MouseX(),MouseY()) 
Next anim 
FlipBuffers() 
;-------------------------------------------------------------- 
TimeDelay=GetTickCount_()-MasterTimer 
  MasterTimer=GetTickCount_() 
  FrameRate.f=1000/TimeDelay 
;-------------------------------------------------------------- 
Until KeyboardPushed(#PB_Key_Escape) 
CloseScreen() 
End
P.S.: TransparentSpriteColor() mit -1 als erstem Parameter hab ich vor die Schleife gesetzt. Warum? Siehe PB-Hilfe :)
Man soll die Tür aufmachen, bevor man durchgeht ...
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

ai n fehler meinerseits.....am besten ich schlaf heute mal,und nerv euch morgn wieder :mrgreen:

[Edit]
ok die maus ist da...nur animiern tutse sich net...
das bild bleibt bei bild6 der animation und geht net weiter....
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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

logisch. du hast in jedem frame ne for-next schleife, die zählt hoch bis zum 6. bild, und dann wird der buffer geflipt.

gugge mal:

Code: Alles auswählen

#StartFrame= 6
#EndFrame = 11

Repeat
    ...
    If Anim < Endframe
        Anim + 1
    Else
        Anim = StartFrame
    EndIf
    DisplayTransparentSprite(Anim,MouseX(),MouseY()) 
    ...
Until ...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
captain third
Beiträge: 194
Registriert: 12.12.2004 13:14
Kontaktdaten:

Beitrag von captain third »

mmmmh,dein code sieht zwar logisch aus,müsste auch funktionieren(meiner meinung nach) aber,jetzt kommt der hammer,es kommt kein einziges bild mehr,und der rechner stürzt nach ca.6,23 mins ab.... :shock:

ich musstes jetzt so lösen

Code: Alles auswählen

For anim=0 To 5 
ClearScreen(0,0,0)
DisplayTransparentSprite(x+anim,MouseX(),MouseY()) 
FlipBuffers()
Next anim 
sieht zwar irgendwie doof aus,aber es erfüllt den zweck....

so und jetzt eine andre frage...wiso funktioniert das erinfache nicht mehr?(siehe seite eins den code den ich bekommen habe)das hat einsA gefunzt,warum jetzt nicht mehr???
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
crossroads
Beiträge: 244
Registriert: 29.08.2004 05:41
Wohnort: Rhine Main Area

Beitrag von crossroads »

Code: Alles auswählen

#StartFrame= 6
#EndFrame = 11

Repeat
    ...
    If Anim < Endframe
        Anim + 1
    Else
        Anim = StartFrame
    EndIf
    DisplayTransparentSprite(Anim,MouseX(),MouseY()) 
    ...
Until ...
Kann net funzen. Eher so:

Code: Alles auswählen

#StartFrame= 6
#EndFrame = 11

Anim = #StartFrame
Repeat
    ...
    If Anim < #Endframe
        Anim + 1
    Else
        Anim = #StartFrame
    EndIf
    DisplayTransparentSprite(Anim,MouseX(),MouseY())
    FlipBuffers() 
    ...
Until ...
Man soll die Tür aufmachen, bevor man durchgeht ...
Antworten