Frame-Gerüst

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

fanta@Kacke_am_Dampfen

Betreff: Frame-Gerüst

BeitragSo, Dez 26, 2004 20:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann mir hier einer ein Grundgerüst für ein 2D-Spiel posten, das bei allen Computern gleich schnell läuft, nicht ruckelt und man die fps einstellen kann? Ich hab nämlich schon viele 2D Spiele geproggt, aber alle laufen entweder viel zu schnell oder ruckeln. Langsam krieg ich die Krätze. Evil or Very Mad Wäre nett wenn das einer machen könnte.

Waveblue

BeitragSo, Dez 26, 2004 20:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Onlinehilfe!
guck dir WaitTimer an!
Damit lässt sich der Speed reduzieren! Wink
This is 10% luck
20% skill
15% concentrated power of will
5% pleasure, 50% pain
and 100% reason to remember the name

Holzchopf

Meisterpacker

BeitragSo, Dez 26, 2004 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Such mal nach "Frameunabhängig programmieren", hier im Board.
Ach was solls: Hier -_-
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

fanta@Kacke_am_Dampfen

BeitragSo, Dez 26, 2004 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja das mit Waittimer hab ich auch schon probiert, das funktioniert aber nur mit 60 Frames, wenn ich dann weniger mache dann ruckelts. Und das mit einer Bewegungsvariable die mit der aktuellen Geschwindigkeit ausgerechnet wird funzt bei mir auch nett recht. Gibts denn nix anderes, oder mach ich was falsch Question
 

hot-bit

Gast

BeitragSo, Dez 26, 2004 21:58
Antworten mit Zitat
Hoi.

Du machst was falsch !

Toni
 

feider

ehemals "Decelion"

BeitragSo, Dez 26, 2004 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh oh, duckt euch!
Eine Hot-Bit-Bomben-Zündschnur wurde (zu recht) gezündet!
FLIEHT IHR NARREN!!! Twisted Evil Twisted Evil Twisted Evil

Waveblue

BeitragSo, Dez 26, 2004 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
hot-bit hat Folgendes geschrieben:
Hoi.

Du machst was falsch !

Toni

Waahnsinn! welch kluge Feststellung. Rolling Eyes

@fanta:Vielleicht postest du einfach mal n Code!
This is 10% luck
20% skill
15% concentrated power of will
5% pleasure, 50% pain
and 100% reason to remember the name

D2006

Administrator

BeitragSo, Dez 26, 2004 22:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Halt dich mal mit dem Rolling Eyes - Smilie zurück.

Immerhin meint es Hot-Bit anders als du denkst!

MfG

fanta@Kacke_am_Dampfen

BeitragMo, Dez 27, 2004 13:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja gut also hier isch der Code
Ich mach das so:
Code: [AUSKLAPPEN]

;Haupt-Programm

Repeat

t1=MilliSecs()
...
...
While Abs(t1-MilliSecs())<10
Wend
Flip
Until KeyHit(1)



Das läuft ja recht gut, aber bei Computern, die die Schleife in 10ms nicht durchgerechnet bekommen, läuft es zu langsam Sad
Darum mach ich als das:

Code: [AUSKLAPPEN]

;Hauptprogramm

Repeat
StartZeit = Millisecs()

x = x + (1 * SchleifenZeit)

Flip 0
SchleifenZeit = Millisecs() - Startzeit
Until Keyhit(1)



nur des ruckelt halt, ich weiß auch nett warum, aber es isch so Evil or Very Mad

Firstdeathmaker

BeitragDi, Dez 28, 2004 3:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, theoretisch mach ich das so:


Code: [AUSKLAPPEN]
repeat
alte_zeit=zeit
zeit=millisecs()
runde#=zeit-alte_zeit/1000

;Alles was in der Hauptschleife drin sein soll...


until keyhit(1)
end


Und dann nehme ich alle Bewegungen im Spiel mal der Variablen "runde".
Dadurch kann ich genau bestimmen, wieviele pixel sich ein Objekt pro Sekunde bewegt, egal ob das ganze Programm jetzt rund läuft oder zuckelt.

Und wenn es ruckelt, liegt das meistens daran, dass du deinen Code nicht optimiert hast.
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

fanta@Kacke_am_Dampfen

BeitragDi, Dez 28, 2004 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, werde das mal ausprobieren

BladeRunner

Moderator

BeitragDi, Dez 28, 2004 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Dieses Frameunabhängige Bewegung verhindert kein Ruckeln. Es sorgt nur dafür dass die Bewegungen konstant bleiben.
Optimier deine Programme, sorge dafür dass in der Mainloop keine Dateien geladen werden und gib brav allen nicht benötigten Speicher wieder frei. Mehr kannst du gegen potentielles Ruckeln nicht tun.
Abgesehen davon ist die frameunabhängige Bewegung natürlich sehr zu empfehlnen weil sie einen einheitlichen Bewegungsrahmen auf allen Rechnern schafft.
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

Kabelbinder

Sieger des WM-Contest 2006

BeitragDi, Dez 28, 2004 15:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier der Teil "Speedoptimirung":
http://home.arcor.de/platzvers...ierung.txt
<Wing Avenger Download> ◊◊◊ <Macrophage Download>

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group