Flip?
Übersicht

![]() |
SereyanneBetreff: Flip? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bestimmt ne ganz leichte Frage für euch: Was bedeutet eine Zahl hinter Flip? Flip, Flip 0, Flip 1... was ist der Unterschied? Wann nehme ich was?
Ja, ich habe schon gesucht ![]() |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Flip 1 (Flip = Flip 1) bedeutet, das die Spielgeschwindigkeit auf die Bildwiederholfrequenz des Monitors begrentzt ist. Bei Flip 0 gibt es diese Begrenzung nicht, manche Sachen werden dann aber durch die hohe Geschwindigkeit nicht gezeichnet ("Dropped Frames") Siehe auch Flip![]() ![]() ![]() Mfg Nicdel |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
Sereyanne |
![]() Antworten mit Zitat ![]() |
---|---|---|
achso das heißt flip ist das gleiche wie flip 1.
warum muss ich eigentlich in der hauptschleife repeat-flip-until und in der function nochmal anwenden? functions arbeiten wohl anders als include, oder? wie verbinde ich flip mit nem timer? |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der Function muss Flip nicht nochmal geschrieben werden.
EDIT: Code: [AUSKLAPPEN] Graphics 000,000,00,0 SetBuffer(BackBuffer()) timer = CreateTimer(60) ; 60 Bilder in der Sekunde ; Zeug laden, usw... Repeat WaitTimer(timer) ; Zeug malen, usw... Flip Cls Until KeyHit(1) |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
Sereyanne |
![]() Antworten mit Zitat ![]() |
---|---|---|
doch, bei mir schon
Code: [AUSKLAPPEN] Repeat ;Hauptschleife
SetBuffer BackBuffer() Cls Startscreen() Flip <<< da ist ein flip Forever End Function Startscreen() Repeat DrawBlock Zion, 180, 20 Color 255,255,0 Text 230, 400, "Zionwarez" Flip <<<< da ist noch eins. ohne geht nicht Until keyhit (1) FlushKeys End Function |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast auch eine zweite Schleife bei Startscreen.
MfG |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klar, du hast in der Funktion ja nochmal eine Schleife.
Richtig: Code: [AUSKLAPPEN] SetBuffer BackBuffer() FlushKeys Repeat ;Hauptschleife Cls Startscreen() Flip ;<<< da ist ein flip Until KeyHit(1) End Function Startscreen() DrawBlock Zion, 180, 20 Color 255,255,0 Text 230, 400, "Zionwarez" End Function |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man kann sich das ganze auch im folgendem Link genau durchlesen, warum man Flip 0 zusammen mit einem waitTimer durchführen sollte.
https://www.blitzforum.de/foru...hp?t=25242 |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Sereyanne |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie soll es denn ohne schleife gehen?
selbst mit nem delay (so auf die schnelle) wird das bild doch gar nicht angezeigt! |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du brauchst keine zweite Schleife innerhalb der Funktion Startscreen(), wenn diese Funktion bereits aus einer Schleife aufgerufen wird. Man sollte sich dann entscheiden wie man vorgeht, und wie struktuiert sein Programm sein soll. Doppeltes Flip ergibt, wenn überhaupt nur in den seltesten Fällen, keinen Sinn. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Sereyanne |
![]() Antworten mit Zitat ![]() |
---|---|---|
deswegen frag ich ja.. es kam mir so seltsam vor, so oft flip verwenden zu müssen, dachte mir, irgendwas machst du falsch...
aber was? Nicdel hat ja recht, so funktioniert es, aber im hauptprogramm nicht, obwohl ich keine großen veränderungen habe sehe ich das bild nicht... ok ich probiere mal rum... irgendwas scheint wohl nicht zu stimmen bei mir. der beitrag mit dem timer ist ja ganz schön. wird aber im beispiel mit while verbunden. ich will aber gar kein ereignis zuweisen, um die schleife beenden zu können! am liebsten: repeat - bis timer abgelaufen. und wie geht das? |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du auch Graphics![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
Sereyanne |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja natürlich... krieg ich ohne überhaupt was zu sehen???????????? | ||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jep.
Standard ist 400x300 Graphics Fenster mit Frontbuffer drinne. Ohne Code kann man leider nichts machen! MfG |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Je nachdem was du machen willst. Aber ich denke wie folgt sollten deine Bedürfnisse befriedigen:
Code: [AUSKLAPPEN] Graphics 800,600,0,2
SetBuffer BackBuffer() Global Timer=CreateTimer(60) Startscreen() Repeat Cls WaitTimer Timer Flip 0 Forever End Function Startscreen() Repeat Cls DrawBlock Zion, 180, 20 Color 255,255,0 Text 230, 400, "Zionwarez" WaitTimer Timer Flip 0 Until KeyHit (1) FlushKeys End Function |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Sereyanne |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich kapiers echt nicht. Dieses teilstück meines codes, verändert von Nicdel, funktioniert an für sich ja.
Code: [AUSKLAPPEN] SetBuffer BackBuffer() FlushKeys Repeat ;Hauptschleife Cls Startscreen() Flip ;<<< da ist ein flip Until KeyHit(1) End Function Startscreen() DrawBlock Zion, 180, 20 Color 255,255,0 Text 230, 400, "Zionwarez" End Function aber wie sieht es aus wenn 2 funktionen nacheinander durchgelaufen werden sollen? Code: [AUSKLAPPEN] Graphics 640,480,32,1 Global Zion = LoadImage ("gfx/Zion.bmp") Global keiner=LoadImage ("gfx/keiner.bmp") SetBuffer BackBuffer() FlushKeys Repeat ;Hauptschleife Cls Startscreen() Startscreen2() Flip ;<<< da ist ein flip Until KeyHit(1) End Function Startscreen() DrawBlock Zion, 180, 20 Color 255,255,0 Text 230, 400, "Zionwarez" End Function Function Startscreen2() Cls DrawBlock keiner,0,0 Text 120,400, "...also machen wir sie selbst!" End Function und schon seh ich nur noch das zweite bild, klar, ohne delay und timer u.ä.... aber wo gehört der timer hin? |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kein Wunder, dass du nur das zweite Bild siehst, wenn du in der zweiten Funktion mit Cls den Bildschirm leerst. | ||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Sereyanne |
![]() Antworten mit Zitat ![]() |
---|---|---|
aha, also ist es besser, wenn ich cls weg lasse, dann sehe ich beide bilder übereinander weil das erste nicht gelöscht wird... ok bei mir nimmt es ja eh den ganzen bildschirm ein aber sonst?
edit: cls weggelassen... zeigt das erste immer noch nicht an... wo bau ich delay/timer ein? |
||
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
ay. Grundlagen x(
Code: [AUSKLAPPEN] ;Grafikfenster Initialisieren Graphics 800,600,32,2 ;Wir stellen das GRafikfenster auf die Auflösung 800x600, 32bit Farbtiefe und im Fenstermodus SetBuffer BackBuffer() ;Der BackBuffer wird gesetzt. Beachte: Der Buffer wird AUSSERHALB DER SCHLEIFE gesetzt! ;Laden undso frametimer = CreateTimer(60) ;Erstellt einen Timer der die Frameanzahl auf 60 Bilder pro Sekunde regelt. ;Jetzt kommt sie, die allmächtige ;---MAINLOOP--- Repeat ;Zeichnen Flip 0 ;Flip 0 stellt das VSync aus und sollte immer so verwendet werden wenn WaitTimer benutzt wird! Cls WaitTimer(frametimer) ;Hier wird abgefragt ob schon eine Sechzigstel-Sekunde seit dem letzten WaitTimer vergangen ist. Wenn nicht wird gewartet. Forever End MfG |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Welche Maße haben denn deine Bilder? Drawblock![]() Timer & Flip(0) so wie in Hectics Beispiel. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group