Mengendalikan Input Papan Kekunci dengan Cekap dalam Pygame
Apabila mencipta permainan dengan Pygame, pengendalian input papan kekunci adalah penting untuk membenarkan kawalan pemain. Pengesanan kunci boleh dicapai menggunakan sama ada pygame.key.get_pressed() untuk mendapatkan semula kekunci yang sedang ditekan atau dengan memantau peristiwa pygame.KEYDOWN.
Menggunakan get_pressed() boleh menyebabkan pergerakan pantas, kerana ia menangkap semua kekunci yang ditekan. dalam bingkai. Untuk memastikan pergerakan tekan tunggal yang tepat, anda disyorkan untuk menggunakan acara KEYDOWN sebaliknya. Kaedah ini mengesan kekunci yang ditekan semasa bingkai semasa, menghalang berbilang pergerakan dalam bingkai tunggal.
Contoh mengesan pergerakan kekunci tunggal menggunakan acara KEYDOWN:
events = pygame.event.get() for event in events: if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: location -= 1 if event.key == pygame.K_RIGHT: location += 1
Walau bagaimanapun, untuk pergerakan berterusan , had mesti dikenakan. Ini boleh dicapai dengan menetapkan kadar bingkai maksimum atau menggunakan pembilang yang mengehadkan kekerapan pergerakan. Berikut ialah contoh:
move_ticker = 0 keys=pygame.key.get_pressed() if keys[K_LEFT]: if move_ticker == 0: move_ticker = 10 location -= 1 if location == -1: location = 0 if keys[K_RIGHT]: if move_ticker == 0: move_ticker = 10 location+=1 if location == 5: location = 4
Semasa gelung permainan, move_ticker dikurangkan untuk menjejak masa sejak pergerakan terakhir. Ini memastikan bahawa bilangan bingkai tertentu berlalu sebelum pergerakan lain dibenarkan:
if move_ticker > 0: move_ticker -= 1
Atas ialah kandungan terperinci Bagaimana Mengendalikan Input Papan Kekunci dengan Cekap untuk Pergerakan Lancar dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!