2016-03-23 5 views
0

Also, zuerst verwende ich die Python Mode for Processing. Und in meinem Code ich habe so etwas wie dies:Verarbeitungsfunktion millis() gibt keine Ganzzahl zurück

limit = millis() + 10 
while millis() < limit: 
    pass 

Ich versuche, etwas ähnliches wie Pythons time.sleep Funktion zu tun, aber den Wert von limit zunimmt, wenn millis() tut. limit ist immer 10 Millisekunden größer als wie lange das Fenster geöffnet war. Wie bekomme ich den Wert des Limits als Konstante?

+1

Die 'millis()' Funktion die Anzahl der Millisekunden kehrt die Skizze gelaufen ist. So würde ich den Wert von "Limit" erwarten. Kannst du ein [mcve] posten? –

+0

@KevinWorkman sicherlich 'limit' sollte sich nicht ändern, nachdem die While-Schleife eingegeben wurde? –

+0

@AlexHall Deshalb sollten Sie eine [mcve] posten. Die Antwort ist, dass es wahrscheinlich nicht ist, aber dass in Ihrem Code etwas anderes passiert. Wir können das nicht wirklich kommentieren, ohne mehr Code zu sehen. Sie werden mehr Glück haben, wenn Sie es auf so wenige Zeilen wie möglich eingrenzen, während Sie das Verhalten beibehalten. Die Veröffentlichung Ihres gesamten Projekts ist wahrscheinlich zu viel Code, aber was Sie gepostet haben, reicht nicht aus, um wirklich sicher zu sein, was vor sich geht. –

Antwort

0

Da @KevinWorkman bereits erwähnt, sollten Sie MCVE posten sonst ist schwer für uns, Ihnen zu helfen.

Im Moment kann ich Ihnen nur 2 folgende Optionen vorschlagen. Aber sie sind nur Hotfixes. Stattdessen sollten Sie mehr über draw Funktion (außerdem: noLooploppreDrawframeRate) studieren und wie die Verarbeitung funktioniert, damit Sie Probleme wie diese vermeiden können. Verwenden Sie diese documentation für Beschreibungen.

1) Sie können stattdessen Python-Funktion time.sleep(0.01) Ihr Limit während der Kombination verwenden. Vergessen Sie nicht, import time

2) können Sie verwenden busy-Looping

t = millis() 
limit = t + 1000000 
while t < limit: 
    t += 1