if keys[pygame.K_UP] and (pac.y - pac.radius) > 0: pac.y -= pac.speed pac.direction = "UP" elif keys[pygame.K_DOWN] and (pac.y + 2*(pac.radius) + pac.speed) < height: pac.y += pac.speed pac.direction = "DOWN" elif keys[pygame.K_left] and (pac.x - pac.radius) > 0: pac.x -= pac.speed pac.direction = "left" left = True elif keys[pygame.K_RIGHT] and (pac.x + 2*pac.radius + pac.speed) < wIDth: pac.x += pac.speed pac.direction = "RIGHT" right = True
预期的结果是输入单个方向,并且pac man将自己朝那个方向移动而不需要按住键.实际上发生的事情是我最终不得不按住钥匙,这样pac人就会朝着想要的方向前进.
解决方法 按下键时直接移动你的pacman对你的程序不起作用.你应该在这里设置pacman的速度或其他东西,并将每个帧应用于另一个函数.def update(): pac.y += pac.yspeed pac.x += pac.xspeedwhile True: clock.tick(60) if keys[pygame.K_UP] and (pac.y - pac.radius) > 0: pac.yspeed = 1 elif keys[pygame.K_DOWN] and (pac.y + 2*(pac.radius) + pac.speed) < height: pac.yspeed = -1 elif keys[pygame.K_left] and (pac.x - pac.radius) > 0: pac.xspeed = -1 left = True elif keys[pygame.K_RIGHT] and (pac.x + 2*pac.radius + pac.speed) < wIDth: pac.xspeed = 1 right = True if keys[pygame.K_ESC]: break update() # Do all your other stuff总结
以上是内存溢出为你收集整理的python – 吃豆人 – 一旦按下并释放一个键,让pacman向一个方向移动全部内容,希望文章能够帮你解决python – 吃豆人 – 一旦按下并释放一个键,让pacman向一个方向移动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)