猫史档案馆


【Python作品分享】飞机大战:运用精灵类【教程贴】

用户:睿智的小范范睿智的小范范查看:0 回复:0 评论:0 创建时间:2021-06-19T22:31:58


【作品展示】

center_image

 

【作品介绍】

pygame简易教程,可以参考升级一下代码,有问题可以告诉我

(喜欢MC的来报道!!!(截到him一张图))

 

【作品源代码】

import pygame,random
pygame.init()
WEITH = 600
HEIGHT = 500
screen = pygame.display.set_mode((WEITH, HEIGHT))
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
WHITE = (255, 255, 255)
screen.fill(WHITE)
FPS = 100
clock = pygame.time.Clock()
class Plane(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image=pygame.Surface((50,40))
        self.image.fill(RED)
        self.rect=self.image.get_rect()
        self.rect.centerx=WEITH//2
        self.rect.bottom=HEIGHT
    def update(self):
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                self.rect.x-=10
            if event.key == pygame.K_RIGHT:
                self.rect.x += 10
        if self.rect.left <=0:
            self.rect.left=0
        if self.rect.right >=WEITH:
            self.rect.right=WEITH 
class Stone(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()
        self.image = pygame.Surface((10,5))
        self.image.fill(GREEN)
        self.rect = self.image.get_rect()
        self.rect.top = 0
        self.rect.right = random.randint(0,WEITH)
    def update(self):
        b=random.randint(1,2)
        self.rect.y+=b
        if self.rect.y>=HEIGHT:
            self.rect.top=0
class Bullet(pygame.sprite.Sprite):
    def __init__(self,x,y):
        super().__init__()
        self.image = pygame.Surface((10,10))
        self.image.fill(BLUE)
        self.rect = self.image.get_rect()
        self.rect.x=x
        self.rect.y=y
    def update(self):
        self.rect.y-=2
        if self.rect.top<0:
            self.喵()
plane = Plane()
# stone=[]
# for i in range(50):
#     stone.append(Stone())
all_sprite=pygame.sprite.Group()
for i in range(40):
    stone=Stone()
    all_sprite.add(stone)
all_sprite.add(plane)
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                exit()
            if event.key == pygame.K_SPACE:
                bullet=Bullet(plane.rect.centerx,plane.rect.top)
                all_sprite.add(bullet)
    # screen.blit(plane.image,plane.rect)
    # plane.update()
    # for i in range(50):
    #     screen.blit(stone[i].image,stone[i].rect)
    #     stone[i].update()
    all_sprite.draw(screen)
    all_sprite.update()
    clock.tick(FPS)
    pygame.display.flip()
    screen.fill(WHITE)

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页