Timer
Übersicht

![]() |
AnanasBetreff: Timer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo hab folgendes Problem:
Ich möchte dass mein Spiel auf allen Rechnern gleich schnell läuft. Meine bisherigen Programme liefen an neuen Maschinen immer unglaublich schnell und an alten schlichen die Männchen im Schneckentempo über den Bildschirm... Das Programm war halt immer genau für meinen PC, an dem es Programmiert wurde, optimal. Ich denke mal man kann da was machen ? Habe bereits mit Millisecs() einiges ausprobiert hatte aber kein Erfolg ![]() thx schonmal ![]() |
||
EwokonCrack |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] timer=CreateTimer(30)
Du erstellst einen Timer mit einem beliebigen wert (der Parameter gibt an, wieviele Frames pro Sekunde über den Bildschirm düsen). Code: [AUSKLAPPEN] WaitTimer timer
Gibt dann das Kommando, überhaupt erst auf den timer zu warten. |
||
Herox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Ananas,
Ich beschreibe zwar nicht so genau was die Kommandos machen dafür gibt es die Hilfe auf der Seite : https://www.blitzforum.de/help/ von mir immer gern besucht, aber ich hab dies im Code wie es dann aussehen sollte wo der Timer stehen soll usw. Hier der Code: Code: [AUSKLAPPEN] Graphics 800,600,32,2
Global Timer=CreateTimer(100) While Not KeyDown(1) WaitTimer(Timer) Text 0,0,"Das ist mal ein Text, hoffe das Funktioniert bei mir ist das jedensfalls so." Flip 0 Wend Ich hoffe ich habe dir geholfen! MFG. Herox |
||
SYSTEMINFO: AMD Phenom 9850 Quad-Core Processor 2500 MHz||4 GB RAM ||MAINBOARD: ASUSTek M3N78-EM|| GRAFIK: NVIDIA GeForce 9600 GT
|| SERVER-HOMEPAGE: http://gamerxl.de/ [IM AUFBAU] |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei diesem Thema immer gerne verlinkt: Hurra, 100% Auslastung | ||
![]() |
AnanasBetreff: Thx |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank hat mir sehr geholfen ![]() |
||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Einfach einen Timer zu erstellen reicht nicht. Dadurch wird nur die Maximale FPS Zahl runtergeschraubt. Trotzdem wird das Spiel auf älteren Rechnern dann immernoch langsam laufen.
Um das hinzukriegen, musst du immer, wenn eine Bewegungsvariable, ect erhöht wird, diese noch mit der Schleifenzeit multiplizieren. Also so ungefähr: Code: [AUSKLAPPEN] Graphics 800,600
SetBuffer(BackBuffer()) Local SchleifenZeit#=1.0 Local x#=0.0 Timer=CreateTimer(60) While Not KeyDown(1) Cls Start=MilliSecs() x#=x#+1*SchleifenZeit Rect x#,10,10,10 Text 10,100,SchleifenZeit WaitTimer(Timer) Flip 0 SchleifenZeit=Start-MilliSecs():SchleifenZeit=-SchleifenZeit/10 Wend Egal ob du bei diesem Programm 1 oder 60 FPS hast, das Viereck erreicht immer in der selben Zeit das Ende des Bildschirms. Sieht bei wenigen FPS natürlich blöder aus, da es immer größere Schritte macht. Kannst ja mal CreateTimer(6) schreiben oder so, dann siehst du, was ich meine ![]() |
||
Twitter
Download Jewel Snake! Windows|Android |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group