Framessperre - wie am besten

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Clonker

Betreff: Framessperre - wie am besten

BeitragFr, Mai 14, 2004 15:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich hab das Problem das ich in mein Spiel eine Framesperre einbauen möchte. Dafür benutze ich diesen Code:

Code: [AUSKLAPPEN]

timer = CreateTimer(60)

While KeyHit(1)<>1
 WaitTimer timer

 ;...

Wend


Allerdings gibt es hier ab und zu kleine ruckler.

Nun meine Frage:

Gibt es noch bessere Varianten eine Framesperre einzubauen?
Wie macht ihr das?

Danke im vorraus!

MfG Clonker
Die exzessive Akkumulation von Fremdwörtern suggeriert pseudointellektuelle Kompetenz.

Athlon XP 2800|Radeon 9600 Pro|512MB DDR RAM|240GB Festplatte

Slayer

BeitragFr, Mai 14, 2004 15:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutze eigene Timer, Millisecs().

Schau mal hier rein, IonPainter hat da mal ein beispiel geschrieben.
https://www.blitzforum.de/viewtopic.php?t=3065
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version
 

Omenaton_2

BeitragFr, Mai 14, 2004 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ist meine Lösung die ich erdacht habe und sich bewährt hat:
(Das verhindert, daß etwas mehrmals hintereinander ungewollt ausgeführt wird wenn man die Taste nicht schnell losläßt.)


Code: [AUSKLAPPEN]

Global LMB_Gesperrt% = 0

;--- Mouse Loop ----------------------------------------------

If MouseDown(1) = True And LMB_Gesperrt = 0 Then
   Gosub Irgendetwas
EndIf

If MouseDown(1) = False Then LMB_Gesperrt = 0

;--- Ende Mouse Loop -----------------------------------------

;--- Irgendetwas ---------------------------------------------
.Irgendetwas

; hier kann man machen was man will

LMB_Gesperrt = 1

Return


Das ist für die linke Maustaste, aber du kannst das einfach auf eine andere Taste ändern.
In dem Code sind nur die wesentlichen Teile drin, ist also nicht vollständig, reicht aber aus um den Prinzip zu zeigen.

BladeRunner

Moderator

BeitragFr, Mai 14, 2004 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
leicht an der Fragestellung vorbei ... Rolling Eyes
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
 

David

BeitragFr, Mai 14, 2004 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Wieso willst du eine Framesperre?
Alle Welt will möglichst hohe Frameraten und du willst wenig?

Wenn sich bei dir Objekte pro Frame zu schnell bewegen, dann bremms doch die Bewegung aber nich die Frames...

Naja, dein Ding. Wink

grüße

BladeRunner

Moderator

BeitragFr, Mai 14, 2004 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/viewtopic.php?t=3169

das ist zum Beispiel ein Grund, ein Game einzubremsen, da es ja auf Wiederholungsfrequenz des Monitors am Flüssigsten läuft.

Ausserdem kannst du eine geschickt gesetzte Framebremse dazu nutzen, die Aufgabenlast im Game besser zu verteilen (weniger Gfx-Arbeit->zB mehr Zeit für KI).
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

Clonker

BeitragFr, Mai 14, 2004 19:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Hilfe!
Ich werde jetzt erstmal versuchen das ganze Framesunabhänig zu machen, mal sehen ob ich das hinbekomme.
Die exzessive Akkumulation von Fremdwörtern suggeriert pseudointellektuelle Kompetenz.

Athlon XP 2800|Radeon 9600 Pro|512MB DDR RAM|240GB Festplatte

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group