DearSairoz 2019-01-10 18:04 采纳率: 0%
浏览 2725

Python的pygame按键处理问题

刚刚学python的pygame,想自己做一下类似打乒乓球一类的游戏,写完后发现对于挡板的控制好像很不顺畅,代码如下:


    if event.type==KEYDOWN:
        if event.key==K_w:
            player_left_up=True
        if event.key==K_s:
            player_left_down=True
    if event.type==KEYUP:
        if event.key == K_w:
            player_left_up = False
        if event.key == K_s:
            player_left_down = False
    #挡板移动
    if player_left_up:
        left_player_pos_y -= 3
    if player_left_down:
        left_player_pos_y += 3

挡板按W往上走,S往下走,这个代码在连续快速W S W S的按的时候,会出现比如W本该是False但它依旧被判定为True的情况,也就是按快了之后即使没有按下W,它也自己往上走了,然后我去网上看类似的代码,写法明明和我一样但是别人的就一点问题也没有,按键按起来很顺畅。这是为什么呀?我应该怎么做?求解

  • 写回答

2条回答 默认 最新

  • Bink小厂长 2019-10-07 15:02
    关注

    把几个if改成elif试一下,全部都是if判断迟缓

    评论

报告相同问题?

悬赏问题

  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch