在移动过程中就会中断发射子弹。怎么让elif语句匹配完一条后继续匹配下面的语句?

在移动过程中就会中断发射子弹。怎么让elif语句匹配完一条后继续匹配下面的语句?

http://img1.sycdn.imooc.com//climg/5cf509170001405406730338.jpg

elif event.type == pygame.KEYDOWN:
   if status == 1:
       KEY_down = event.key
       if event.key == pygame.K_w or event.key == pygame.K_UP:
           our_plan.move_up()
       elif event.key == pygame.K_s or event.key == pygame.K_DOWN:
           our_plan.move_down()
       elif event.key == pygame.K_a or event.key == pygame.K_LEFT:
           our_plan.move_left()
       elif event.key == pygame.K_d or event.key == pygame.K_RIGHT:
           our_plan.move_right()
       elif event.key == pygame.K_SPACE:
           # 发射子弹
           our_plan.shoot()

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕美 2019-06-11 10:36:31

同学,你好,同学是要用鼠标控制飞机左移动,空格发射子弹吗?可以在监听鼠标事件时,调用self.our_plane.move_left(),监听键盘事件时,按下空格键则发射子弹。鼠标按下只能调用一个移动函数,建议同学使用键盘控制飞机的移动。

参考代码:

http://img1.sycdn.imooc.com//climg/5cff10f1000140ef04090393.jpg

好帮手慕美 2019-06-04 10:19:21

同学,你好,同学是想在飞机移动的过程中也发射子弹吗?

参考代码:通过空格发射子弹的语句可以留着也可以用pass占位,在移动和按空格的时候会发射子弹。

http://img1.sycdn.imooc.com//climg/5cf5d4ef0001b05307800416.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  • 提问者 qq_慕娘5109606 #1
    这样的话只要按键盘就会调用self.our_plan.shoot.最好是我(按住左键+按住空格键)调用self.our_plan.shoot+左边移动;(按住左键+松开空格键)不调用self.our_plan.shoot+但是还是左边移动,
    2019-06-10 20:53:23
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师