Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Millisekunden-Pausen in QB?

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sir-Monchi



Anmeldungsdatum: 15.01.2010
Beiträge: 4

BeitragVerfasst am: 15.01.2010, 16:52    Titel: Millisekunden-Pausen in QB? Antworten mit Zitat

Hi,

ich wollte mich mal an ein paar kleinen Physik progrämmchen versuchen. Ich habe allerdings Probleme mit dem Timing.

Wollte den Freien Fall programmieren. Ich verwende Circle und steigere den wert der y-achse. Zurzeit verwende ich PLAY und quasi ein "Musikstück" mit 255 bpm und einer 64stel pause. Allerdings ist das nicht wirklich das was ich mir vorgestellt habe. Gibt es sowas wie millisekunden-pausen in QB?

MFG
Monchi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Nitroxis



Anmeldungsdatum: 27.02.2008
Beiträge: 300
Wohnort: Irgendwo...

BeitragVerfasst am: 15.01.2010, 17:44    Titel: Antworten mit Zitat

Ja das geht
Am Anfang des Programms:
Code:
Declare Sub xSleep(ByVal Milliseconds As Single)

Code:
Sub xSleep(ByVal Milliseconds As Single)
Dim SleepTime As Double
SleepTime = Timer + Milliseconds / 1000
Do
Loop Until Timer > SleepTime
End Sub
In deinem Hauptprogramm machst du dann (an der richtigen Stelle)
Code:
xSleep 123 '123 ms pause
Das wartet dann 123ms...

Edit: Kleiner Fehler verlegen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sir-Monchi



Anmeldungsdatum: 15.01.2010
Beiträge: 4

BeitragVerfasst am: 15.01.2010, 18:44    Titel: Fetten Dank! Antworten mit Zitat

Ja das ist ja äußerst bien !

Besten dank! Werde das gleich mal ausprobieren. Muss mich da allerdings noch einmal genauer mit auseinandersetzen zwinkern..

MFG
Monchi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sir-Monchi



Anmeldungsdatum: 15.01.2010
Beiträge: 4

BeitragVerfasst am: 15.01.2010, 19:04    Titel: ? Antworten mit Zitat

Öhm,

es kann jetzt zwar sein, dass ich mich gerade total dämlich anstelle, aber es geht nicht. Also hier mal mein code:

DECLARE SUB xSleep (BYVAL Milliseconds AS SINGLE)
Sub xSleep(BYVAL Milliseconds As Single)
DIM SleepTime AS DOUBLE
SleepTime = TIMER + Milliseconds / 1000
DO
LOOP UNTIL TIMER > SleepTime
End Sub

SCREEN 12
xpos% = 320
ypos% = 0

WHILE (ypos% < 470)
CIRCLE (xpos%, ypos%), 5
ypos% = ypos% + 1
xSleep 123 '123 ms pause
WEND

----------------------------------------------

Sollte eig. einen kreis zeichen 123ms warten und dann 1px darunter den nächsten zeichnen ...

Fehlermeldung:
Erwartet: Variable oder BYVAL oder SEG oder )

--------------------------------

danke schonmal im voraus.

MFG
Monchi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
-schumi-



Anmeldungsdatum: 28.10.2009
Beiträge: 131
Wohnort: Südbayern

BeitragVerfasst am: 15.01.2010, 19:17    Titel: Antworten mit Zitat

ich hab einfach probeweise das BYVAL rausgeschmissen und schon hat das programm ohne jegliches meckern funktioniert grinsen
(hab zur probe auch 1000 ms=1 sec als zeit hergenommen, funktioniert perfekt)


mfg
-schumi-
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sir-Monchi



Anmeldungsdatum: 15.01.2010
Beiträge: 4

BeitragVerfasst am: 15.01.2010, 19:24    Titel: Antworten mit Zitat

happy juche ... du hattest wohl recht ... it works

MFG
Monchi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 15.01.2010, 23:22    Titel: Antworten mit Zitat

Ansonsten gibt's hier noch mehr infos (guter Beitrag von Skilltronic inside): http://forum.qbasic.at/viewtopic.php?t=834
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 16.01.2010, 19:00    Titel: Antworten mit Zitat

Zum Thema gibt es von mir einen für diesen Fall ebenfalls durchaus passenden Artikel:

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/ButterweicheAnimationen.html

Dort wird ein einfaches Tiefpassfilterverfahren vorgestellt, um den 55 ms-Zeitschritt von TIMER "glätten" zu können.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz