pygame旋转线删除旧行

时间:2018-10-25 13:35:15

标签: python-2.7 pygame

如何使用math模块在​​ pygame 中旋转一行,然后每隔一周旋转一行就删除旧行。我刚刚使用了其他代码,但是问题是旧行旋转,所以我看到了阳光效果。

1 个答案:

答案 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()功能。

让我们知道您是否还有其他问题。

Random lines example