sinat_35855539 2019-02-18 18:12 采纳率: 0%
浏览 2651

请问Pygame如何让event触发出的screen.blit的图片一直存在?

请问各位坛友和大神,我在试着做飞机大战的时候,按教学地用event触发子弹的射击。但是,在event结束后,子弹就消失了。怎样才可以在event结束后让子弹一直滑行呢?
相关代码具体如下:

class = bullet(object):
def __inti__(self):
    self.image = image
    self.x = x
    self.y = y

def display(self):
    screen.blit(self.image, (self.x, self.y))

def move(self):
    self.x += 10

Bullet = bullet(bullet_image, bullet_x, bullet_y)

while True
    if event.type == KEYDOWN:
        if event.key == K_a:       # 用A触发Bullet的展示和移动
            bullet.display(Bullet)
            bullet.move(Bullet)

运行这段代码,结果是这颗子弹的坐标的确会变,但是要按一次“A”键子弹才会变一次,而且子弹也是那时候才出现。
应该要怎么样使得我按了这个“A”键后,子弹会自己一直沿一条轨迹走呢?
还请各位坛友和大神不吝赐教。谢谢~

  • 写回答

1条回答 默认 最新

  • time 1.0 2020-08-31 19:39
    关注

    if按键按下同时i=1,如果i=1:子弹+=1,其他事件触发则i=0,如果i=0: 子弹消失或者运行其他代码

    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛