小编S_Z*_*zle的帖子

'pygame.event.get()' 的更快版本。为什么事件会被错过以及为什么事件会被延迟?

我正在 pygame 中制作 Asteroidz 克隆,并有两个for event in pygame.event.get()循环,一个用于检查退出请求以及游戏是否应该通过按空格键开始,然后在游戏中进一步尝试限制玩家按住空格键并连续射击。我的函数的相关代码check_input(每个循环运行一次)如下;

def check_input(self):
    for event in pygame.event.get(): #NOT CHECKING THIS FAST ENOUGH, WHOLE PROCESS IS TOO SLOW
        if (event.type == pygame.KEYUP) and (event.key == pygame.K_SPACE):
            print ('boop')
            self.shootThrottle = 0

    if self.shootThrottle == 0:
        self.shootThrottle += 1
        bullets.add(Bullet(self.shape[0][0],self.shape[0][1], self.angle))

    key = pygame.key.get_pressed()

    if key[pygame.K_LEFT]:
        self.angle -= 7
        self.rotate(-7)
    elif key[pygame.K_RIGHT]:
        self.angle += 7
        self.rotate(7)

    if self.angle > 360:
        self.angle -= 360
    elif self.angle < 0:
        self.angle += 360

    if …
Run Code Online (Sandbox Code Playgroud)

python loops pygame python-3.x

4
推荐指数
1
解决办法
1309
查看次数

标签 统计

loops ×1

pygame ×1

python ×1

python-3.x ×1