那是我想做的事情
第一堂课-使用pygame创建一个“火箭”-实际上是rect。每次都从同一点在屏幕中随机“飞行”。
第二类-出现了问题-我想创建一个“火箭”循环,每个火箭都从同一点开始,然后随机飞行....只需创建一个头等舱的循环。
实际上没有任何问题..仅该程序仅创建1个实例和1枚火箭...
这是代码:
import pygame
import sys
import random
screen_size=[600,600]
pygame.init()
clock = pygame.time.Clock()
class rocket():
def __init__(self):
self.screen=pygame.display.set_mode((screen_size[0],screen_size[1]))
self.white=(255,255,255)
self.black=(0,0,0)
self.height=30
self.width=10
self.refresh=10
self.acc_x=0
self.vel_x=0
self.vel_y=0
self.acc_y=0
self.x=300
self.y=570
pygame.display.set_caption("Rockets ML Project")
def new_rocket(self):
self.rocket=pygame.draw.rect(self.screen, (self.black),[self.x, self.y, self.width,
self.height])
pygame.draw.rect(self.screen,self.black, self.rocket)
self.acc_x+=random.randint(-1,1)
self.vel_x+=self.acc_x
self.x+=self.vel_x
self.acc_y-=random.randint(-1,1)
self.vel_y-=self.acc_y
self.y+=self.vel_y
self.screen.fill(self.white)
self.rocket=pygame.draw.rect(self.screen, (self.black),[self.x, self.y, self.width,
self.height])
pygame.display.flip()
clock.tick(self.refresh)
Rocket=rocket()
class pop(rocket):
def __init__(self):
self.pop_size=5
self.all_rockets=[]
def create_pops(self):
for i in range(self.pop_size):
curr_rocket=Rocket.new_rocket()
self.all_rockets.append(curr_rocket)
Rocket=rocket()
Pop=pop()
while True :
Pop.create_pops()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()