如何使用math
模块在 pygame 中旋转一行,然后每隔一周旋转一行就删除旧行。我刚刚使用了其他代码,但是问题是旧行旋转,所以我看到了阳光效果。
答案 0 :(得分:1)
要轻松地为您的问题提供特定的答案,您确实需要显示代码。请参阅how to ask。
我准备了一个通用示例,当单击鼠标按钮时,该示例会随机化一条线的一个端点。
# pyg_line_demo
import pygame
import random
def get_random_position():
"""return a random (x,y) position in the screen"""
return (random.randint(0, screen_width - 1), #randint includes both endpoints.
random.randint(0, screen_height - 1))
def random_line(line):
""" Randomise an end point of the line"""
if random.randint(0,1):
return [line[0], get_random_position()]
else:
return [get_random_position(), line[-1]]
# initialisation
pygame.init()
screen_width, screen_height = 640, 480
surface = pygame.display.set_mode((screen_width,screen_height))
pygame.display.set_caption('Lines')
clock = pygame.time.Clock() #for limiting FPS
FPS = 30
# initial line
line = [(10, 10), (200, 200)]
finished = False
while not finished:
for event in pygame.event.get():
if event.type == pygame.QUIT:
finished = True
if event.type == pygame.MOUSEBUTTONDOWN:
line = random_line(line)
#redraw background
surface.fill(pygame.Color("white"))
#draw line
pygame.draw.aalines(surface, pygame.Color("blue"), False, line)
# update display
pygame.display.update()
#limit framerate
clock.tick(FPS)
pygame.quit()
您应该可以插入行旋转功能来代替random_line()
功能。
让我们知道您是否还有其他问题。