|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 C++太极门小弟子 于 2021-9-8 00:20 编辑
以下是主程序
- import pygame
- import traceback
- import sys
- import meplane
- from pygame.constants import K_DOWN, K_LEFT, K_RIGHT, K_UP
- pygame.init()
- bg_size = width, height = 480, 700
- screen = pygame.display.set_mode(bg_size)
- pygame.display.set_caption("飞机大战")
- background = pygame.image.load("D:\Microsoft VS Code\project\我编的飞机大战 - 副本\images/background.png").convert()
- def main():
- fps = 60
- fclock = pygame.time.Clock()
- while True:
- me = meplane.Myplane(bg_size)
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- pygame.quit()
- sys.exit()
- key_pressed = pygame.key.get_pressed()
- if key_pressed[K_UP]:
- me.moveup()
- if key_pressed[K_DOWN]:
- me.movedown()
- if key_pressed[K_LEFT]:
- me.moveleft()
- if key_pressed[K_RIGHT]:
- me.moveright()
- screen.blit(background, (0, 0))
- screen.blit(me.image, me.rect)
- pygame.display.flip()
- fclock.tick(fps)
- if __name__ == "__main__":
- try:
- main()
- except SystemExit:
- pass
- except:
- traceback.print_exc()
- pygame.quit
- input()
复制代码
每次KEYDOWN时飞机并不会持续的位移只会移动一小距离,并且KEYUP后飞机又自动返回了初始位置,看了很久不知道为什么
以及第六行为啥删掉之后程序无法正常运行,进去就黑屏只能强制关闭
可能是第20行写在了 while 循环里面了, 每次都创建一个Myplane实例,试试把它移到 while 的外面来
- me = meplane.Myplane(bg_size)
- while True:
复制代码
|
|