2017-01-12 22 views
5

Denetim ve otomasyon görevi için Python ve pygame kullanıyorum. Bir sensörden gelen bilgiler, pygame kullanılarak görüntülenir ve daha sonra başka bir yere kaydedilir.
Kare hızı sınırlamak için pygame saatini kullanıyorum.Pygame Clock - Ne kadar süre için koşabilir?

Bu yerleşik bir uygulama olduğundan, işlem her seferinde aylarca kullanılabilir. Pygame saati çalışmayı durduracak mıdır, yani ms'yi bir tamsayı olarak (uzun bir tam sayı ne olursa olsun) saklarsa, zaman tükenecek ve 0'a geri dönmeyle başa çıkabilir mi (ya da daha kötüsü eksi bir şey)?

Eğer ne kadar sürecek, ne işe yarar? Bu nedenle 4 gün sonra Win95'in ilk versiyonunun çöktüğünü hatırlıyorum!

Python2.7'yi Ahududu Pi ver 3'ünde kullanıyorum, eğer bu uygunsa.

cevap

2

Python 2.7.x iki tamsayı türüne sahiptir: "düz tamsayılar" ve "uzun tamsayılar". Birincisi temel olarak en az 32 bit olması gereken C cinsinden long int s'dir. İkincisi sınırsızdır. Hesaplamalar gerektiğinde otomatik olarak uzun sürdüğünden, iyi olmalısınız.

Örnek:

Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32 
>>> x=1<<30 
>>> x 
1073741824 
>>> type(x) 
<type 'int'> 
>>> x+=1<<30 
>>> x 
2147483648L 
>>> type(x) 
<type 'long'> 
+0

ok, So sürece msn zamanlayıcı sonsuza çalışacağız bir int olduğunu belirten pygame kütüphanede iç bir şey olduğu. Eğer 25 veya 50 günlük çalışma zamanı (işaretli olup olmamasına bağlı olarak) veren sabit 32 bitlik bir tamsayı ise, clock.tick yöntemi saatin sıfıra geri dönmemesi durumunda (veya -2^31) uygun şekilde). – user7409496