|
|
发表于 2020-2-1 11:33:52
|
显示全部楼层
定义屏幕要在转换图片之前,交换顺序就OK:
- # 第五次尝试
- import pygame
- import sys
- import random
- pygame.init()
- pygame.mixer.init()
- # 球类
- class Ball(pygame.sprite.Sprite):
- def __init__(self,image,position,speed,direction):
- pygame.sprite.Sprite.__init__(self)
- self.image = pygame.image.load(image).convert_alpha()
- self.rect = self.image.get_rect()
- self.rect.left,self.rect.top = position
- self.position = position
- self.speed = speed
- self.direction = direction
- def move(self):
- if self.rect.left < 0 or self.rect.right > 1024:
- self.speed[0] = -self.speed[0]
- if self.rect.top < 0 or self.rect.bottom >600:
- self.speed[1] = -self.speed[1]
- if self.speed[0] < 0 and self.direction == 1 or \
- self.speed[0] > 0 and self.direction == -1:
- self.image = pygame.transform.flip(self.image,True,False)
- self.direction = -self.direction
- self.rect = self.rect.move(self.speed)
- def main():
- # 设置
- direction = 1
- image = '1534159777517.png'
- background_image = 'picture29.jpg'
- runing = True
- screen = pygame.display.set_mode((1024,600))
- background =pygame.image.load(background_image).convert()
- pygame.display.set_caption('第五次尝试')
- # 创建
- balls = []
- for ball in range(5):
- position = (random.randint(0,1024-90),random.randint(0,600-144))
- speed = [random.randint(-10,10),random.randint(-10,10)]
- ball = Ball(image,position,speed,direction)
- balls.append(ball)
- clock = pygame.time.Clock()
- while runing:
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- sys.exit()
-
- screen.blit(background,(0,0))
- for each in balls:
- each.move()
- screen.blit(each.image,each.rect)
- pygame.display.flip()
- clock.tick(30)
- if __name__ == '__main__':
- main()
复制代码 |
|