文章详情页
pygame - python中响应同一事件第二次的时候执行不同操作
问题描述
在循环中响应了键盘一个键按下,然后执行两个操作,然后再次响应键盘的同一个键的按下,但是只执行第二个操作,应该怎么处理?
for event in pygame.event.get(): if event.type == pygame.KEYDOWN:if event.key == pygame.K_ESCAPE: sys.exit()elif event.key == pygame.K_RIGHT: tank.update1() tank.moving_right = True
比如elif语句中,从第二次开始,只执行tank.moving_right = True 而不再执行tank.update1()应该怎么处理
问题解答
回答1:tank里面加开关标志
elif event.key == pygame.K_RIGHT: tank.update1() tank.moving_right = True
tank.update1()tank.moving_right = True这里封装一下,然后在tank里加成员变量回答2:
添加个标志变量
flag = Truefor event in ....: ... if flag:tank.update1()flag = False tank.moving_right = True
相关文章:
1. javascript - 百度地图自己的产品可以精确定位,为什么我调用他的公开API却必须经过用户同意才能获取精确定位,而且还慢?2. 后台系统的左侧导航窗格如何修改3. 网页爬虫 - Python爬虫入门知识4. mysql - 数据库建字段,默认值空和empty string有什么区别 1105. 怎么学好php6. mybatis - Java关于Mysql的随机id生成7. javascript - echart+百度地图8. 在MySQL数据库中查询表里的记录条数的代码怎么写?9. python - import里的dot是以哪个路径作为根目录的?10. python - 如何将文本文件的CR换行符换成LF换行符?
排行榜