Function Animation zu schnell
Übersicht

![]() |
CerbusBetreff: Function Animation zu schnell |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Zu meinem Problem. Ich wollte eine Animation bzw. den Ablauf dafür in eine Funktion packen... Wenn ich das alles normal mache bzw so: Code: [AUSKLAPPEN] Repeat Cls DrawImage Test, 200, 200, Frame If Zaehlstart + 500 < MilliSecs() Then Frame = Frame + 1 If Frame = 2 Then Frame = 0 Zaehlstart = MilliSecs() EndIf Flip Forever Dann läuft alles in der richtigen Geschwindigkeit ab. Aber das wäre ja ein schmarrn alles immer wieder zu schreiben, deshalb hab ich alles in eine Funktion gepackt. Code: [AUSKLAPPEN] Function Bilder(Anzahl) If Zaehlstart + 500 < MilliSecs() Then Frame = Frame + 1 If Frame = Anzahl Then Frame = 0 Zaehlstart = MilliSecs() Return Frame EndIf End Function Wenn ich jetzt diese Funktion damit aufrufe geht sie zwar... Code: [AUSKLAPPEN] DrawImage Test, 200, 200, Bilder(2) Aber sie läuft VIEL zu schnell ab.... Irgendwie kann ich das nicht ganz nachvollziehen warum das so ist... kann mir da bitte jemand helfen? Gruß Cerbus |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] global Zaehlstart,Frame,Anzahl mal noch einfügen ausserhalb ner Funktion
|
||
between angels and insects |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo, Jan_ hat das wesentliche schon gesacht:Die Vars müssen Global sein da sie sonst bei Verlassen der Func. "genullt" werden.
Edit: *freundlich-verneig-beim-Jan_-händeschüttel-und-in-die-Kamera-grins-für-die-Weltpresse* |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
- Zuletzt bearbeitet von BladeRunner am Di, Aug 31, 2004 15:05, insgesamt einmal bearbeitet
![]() |
Cerbus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank! ![]() Oh mein gott bin ich besch... ^^ |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke Blade, so musste ich es nciht erklären, bin gerade zurückgekommen, um es zu erklären, aber du hast es ja schön kurz gefasst.
*Jan_reicht_Blade_runner_die_hand,_wegen_guter_zusammenarbeit* @ Cerbus, jaja , bist du lol, ist nciht so gemeint ![]() |
||
between angels and insects |
![]() |
Cerbus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber es gibt mit der Funktion ein kleines Problem.
Die Animationen sind nicht flüssig bzw. wenn es wieder von der 2 auf die 1 springt geht das zu schnell. Wieso ist das in der Funktion so? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Function Bilder(Anzahl)
If Zaehlstart + 500 < MilliSecs() Then Frame = Frame + 1 If Frame = Anzahl Then Frame = 0 Zaehlstart = MilliSecs() Return Frame ;<--------hier isser, der BUG! EndIf End Function Du übergibst das aktuelle Frame nur wenn es sich wirklich ändert. mach das Return frame ausserhalb des If-endif sonst ist Frame meisstens 0... |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Cerbus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aso! Ich beginne zu kapieren. ![]() Dankeschön BladeRunner. =) Mit so ner Community machst echt spaß proggen zu lernen. =) |
||
hot-bitGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hoi,
.... sage ich auch immer ! ![]() Toni |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group