Pygame kullanmaya başladım ve basit bir oyun yapmak istiyorum. İhtiyacım olan unsurlardan biri geri sayım sayacı. PyGame'de geri sayım süresini (örn. 10 saniye) nasıl yapabilirim? Bu sayfadaPygame'de geri sayım sayacı
cevap
bir zamanlar sayım başlamadan önce indirebilir http://www.pygame.org/docs/ref/time.html#pygame.time.get_ticks
keneler aradığınızı bulacaksınız (oyunda bir tetikleyici olabilir - Anahtar olay, neyse). Örneğin :
start_ticks=pygame.time.get_ticks() #starter tick
while mainloop: # mainloop
seconds=(pygame.time.get_ticks()-start_ticks)/1000 #calculate how many seconds
if seconds>10: # if more than 10 seconds close the game
break
print (seconds) #print how many seconds
burada bu- birini bulunuyor yapabileceğiniz birçok yolu vardır. Python'un bildiğim kadarıyla bir müdahale mekanizması yok.
import time, datetime
timer_stop = diatomite.datetime.utcnow() +datetime.timedelta(seconds=10)
while True:
if datetime.datetime.utcnow() > timer_stop:
print "timer complete"
break
Bir başka kolay yol sadece pygame'in etkinlik sistemini kullanmaktır.
İşte basit bir örnek:
import pygame
pygame.init()
screen = pygame.display.set_mode((128, 128))
clock = pygame.time.Clock()
counter, text = 10, '10'.rjust(3)
pygame.time.set_timer(pygame.USEREVENT, 1000)
font = pygame.font.SysFont('Consolas', 30)
while True:
for e in pygame.event.get():
if e.type == pygame.USEREVENT:
counter -= 1
text = str(counter).rjust(3) if counter > 0 else 'boom!'
if e.type == pygame.QUIT: break
else:
screen.fill((255, 255, 255))
screen.blit(font.render(text, True, (0, 0, 0)), (32, 48))
pygame.display.flip()
clock.tick(60)
continue
break
Bu aslında oldukça basit. Basit bir kütüphane oluşturduğunuz için teşekkürler!
import pygame
x=0
while x < 10:
x+=1
pygame.time.delay(1000)
Buradaki her şey bu kadar! Pygame ile eğlenin!
pygame.time.Clock.tick
son clock.tick
çağrı (delta time, dt
) beri milisaniye cinsinden döndürür, böylece o artırabilir veya bir zamanlayıcı değişkeni azaltmak için kullanabilirsiniz.
import pygame as pg
def main():
pg.init()
screen = pg.display.set_mode((640, 480))
font = pg.font.Font(None, 40)
gray = pg.Color('gray19')
blue = pg.Color('dodgerblue')
# The clock is used to limit the frame rate
# and returns the time since last tick.
clock = pg.time.Clock()
timer = 10 # Decrease this to count down.
dt = 0 # Delta time (time since last tick).
done = False
while not done:
for event in pg.event.get():
if event.type == pg.QUIT:
done = True
timer -= dt
if timer <= 0:
timer = 10 # Reset it to 10 or do something else.
screen.fill(gray)
txt = font.render(str(round(timer, 2)), True, blue)
screen.blit(txt, (70, 70))
pg.display.flip()
dt = clock.tick(30)/1000 #/1000 to convert to seconds.
if __name__ == '__main__':
main()
pg.quit()
bu deneyin: Bu temelde 1 o döngüler her zaman çıkarılır bir değişkeni
import time
counter = 10
while counter != 0:
print(counter)
counter -= 1
time.sleep(1)
. Sonra bir saniye beklemek için time.sleep (1) kullanırız.
'time.sleep' genellikle iyi bir çözüm değildir çünkü oyun yanıt vermez ve diğer kodların yürütülmesini engeller. – skrx
- 1. Javascript Geri Sayım Sayacı
- 2. Geri Sayım Sayacı Bildirimi
- 3. Geri sayım sayacı Geçen Saniye
- 4. Momentjs ve geri sayım sayacı
- 5. Javascript, geri sayım sayacı ve ekran metni
- 6. WpF geri sayım sayacı nasıl yapılır?
- 7. Her 3 günde bir geri sayım sayacı
- 8. ListView ve geri sayım sayacı olan öğeler
- 9. Sadece hafta içi JQuery geri sayım sayacı
- 10. Geri Sayım
- 11. Asp.net web uygulamasında (C#) bir geri sayım sayacı nasıl yapılır?
- 12. RxJS Observables ile geri sayım sayacı nasıl yapılır?
- 13. Geri sayım sayacı HH: MM: Android SS SS biçimi
- 14. Metin gösterimiyle geri sayım
- 15. Android Sayım Sayacı Dairesel İlerleme Çubuğu
- 16. UIAlertController'da Geri Sayım
- 17. Tarih geri sayım hatası
- 18. JQuery'de gece yarısına kadar geri sayım
- 19. Arduino geri sayım programının geri kalanını engeller
- 20. www.bidhere.com gibi geri sayım zamanı.
- 21. Geri sayım sayacı Chrome/Safari'de tam olarak görüntülenmez, ancak Tamam seçeneğinde değil. Firefox'taki sorun yok.
- 22. Xamarin Android ile Geri Sayım MVVMCross
- 23. döngü için içinde geri sayım yorumları oluştur
- 24. Geri sayım sayaçlarını C++ uygulamasında nasıl kullanılır?
- 25. Açısal 2 çoklu geri sayım borusu
- 26. Sunucu tarafı geri sayım komut dosyası
- 27. Neden bu geri sayım javascript chrome
- 28. NSTimer ile nasıl geri sayım yapabilirim?
- 29. C Programlama: Basit Geri Sayım Programı
- 30. SQL Query'de en yüksek geri sayım değeri
Gecikme, belirli bir nesneyi değil, tüm oyunu geciktirdiği için belirli senaryolarda çalışmayacaktır. –