Python 2.7 在Pygame中绘制连续线

Python 2.7 在Pygame中绘制连续线,python-2.7,pygame,drawing,Python 2.7,Pygame,Drawing,pygame中是否有一个模块用于绘制连续线?我知道pygame.draw.line()和pygame.draw.circle(),这是我现在使用的最后一个,但是如果我在屏幕上快速绘制,而不是在线上绘制,它将导致明显的圆圈。任何人都可以帮忙吗?记住以前的位置,并使用pygame.draw.line()从旧位置到新位置绘制线 - 我的旧示例-使用键左/右更改移动点的方向 import pygame import math # === constants === (UPPER_CASE names)

pygame中是否有一个模块用于绘制连续线?我知道
pygame.draw.line()
pygame.draw.circle()
,这是我现在使用的最后一个,但是如果我在屏幕上快速绘制,而不是在线上绘制,它将导致明显的圆圈。任何人都可以帮忙吗?

记住以前的位置,并使用
pygame.draw.line()
从旧位置到新位置绘制线

-

我的旧示例-使用键
左/右
更改移动点的方向

import pygame
import math

# === constants === (UPPER_CASE names)

RED = (255, 0 , 0)

SCREEN_WIDTH = 800
SCREEN_HEIGHT = 600

# === main ===

# --- init ---

pygame.init()
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
screen_rect = screen.get_rect()

# --- objects ---

# convert tuple to list 
pos_new = list(screen_rect.center)
pos_old = list(screen_rect.center)

speed = 5.0
angle = 0.0

# --- mainloop ---

clock = pygame.time.Clock()

running = True

while running:

    # --- events ---

    for event in pygame.event.get():

        if event.type == pygame.QUIT:
            running = False

        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                running = False

    keys = pygame.key.get_pressed()

    if keys[pygame.K_LEFT]:
        angle -= 10
    if keys[pygame.K_RIGHT]:
        angle += 10

    # --- updates ---

    if angle >= 360:
        angle -= 360
    elif angle < 0:
        angle += 360

    pos_new[0] += int(speed * math.cos(math.radians(angle)))
    pos_new[1] += int(speed * math.sin(math.radians(angle)))

    # --- draws ---

    if pos_new != pos_old:
        pygame.draw.line(screen, RED, pos_new, pos_old)
        pos_old = pos_new[:]

    pygame.display.flip()

    # --- FPS ---

    clock.tick(25)

# --- the end ---

pygame.quit()
导入pygame
输入数学
#===常数===(大写名称)
红色=(255,0,0)
屏幕宽度=800
屏幕高度=600
#==main===
#---初始化---
pygame.init()
screen=pygame.display.set_模式((屏幕宽度、屏幕高度))
screen\u rect=screen.get\u rect()
#---对象---
#将元组转换为列表
位置新=列表(屏幕正中央)
位置旧=列表(屏幕正中央)
速度=5.0
角度=0.0
#---主回路---
clock=pygame.time.clock()
运行=真
运行时:
#---事件---
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_退出:
运行=错误
keys=pygame.key.get_pressed()
如果键[pygame.K_左]:
角度-=10
如果键[pygame.K_RIGHT]:
角度+=10
#---更新---
如果角度>=360:
角度-=360
elif角度<0:
角度+=360
pos_new[0]+=int(速度*math.cos(数学弧度(角度)))
pos_new[1]+=int(速度*math.sin(数学弧度(角度)))
#---抽签---
如果位置是新的!=位置:
pygame.draw.line(屏幕、红色、新位置、旧位置)
pos_old=pos_new[:]
pygame.display.flip()
#---FPS---
时钟滴答作响(25)
#---结束---
pygame.quit()

(来源:)