Seite 2 von 3

Verfasst: 14.01.2005 12:56
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

Verfasst: 14.01.2005 14:27
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

Verfasst: 14.01.2005 15:22
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.

Verfasst: 14.01.2005 16:45
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

Verfasst: 14.01.2005 22:49
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???

Verfasst: 15.01.2005 09:48
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 :)

Verfasst: 15.01.2005 12:16
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....

Verfasst: 15.01.2005 14:24
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 ...

Verfasst: 15.01.2005 22:22
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???

Verfasst: 15.01.2005 22:41
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 ...