代码:# -*- coding:utf-8 -*-
# 导入库
import pygame
from pygame.locals import *
from math import sin, cos, pi
from os import environ
from random import randint
environ['SDL_VIDEO_WINDOW_POS'] = "%d,%d" % (460, 30)
# 初始化
pygame.init()
pygame.font.init()
canvas = pygame.display.set_mode((1000, 1000)) # 创建窗口
pygame.display.set_caption("circle") # 明明窗口标题
canvas.fill((255, 255, 255))
pygame.font.init()
class Point:
def __init__(self):
self.r = 300
self.aRect = Rect(500, 200, 0, 0)
self.bRect = Rect(500, 200, 0, 0)
self.aA = 0
self.bA = 0
self.lines = [[500, 800]]
# self.lines2 = [[500, 800]]
self.font = pygame.font.SysFont('Segoe Print', 16)
def move(self):
self.aRect.x, self.aRect.y = 500 + 300 * sin(self.aA * pi / 180), 500 + 300 * cos(self.aA * pi / 180)
self.bRect.x, self.bRect.y = 500 + 300 * sin(self.bA * pi / 180), 500 + 300 * cos(self.bA * pi / 180)
self.lines.append([self.aRect.x, self.bRect.y])
# self.lines2.append([self.bRect.x, self.aRect.y])
self.aA += 1.1
self.bA -= 1.3
def draw(self):
canvas.fill((255, 255, 255))
pygame.draw.circle(canvas, [0, 200, 0], [500, 500], 300, 1)
pygame.draw.aalines(canvas, [0, 0, 0], False, self.lines, 1)
# pygame.draw.aalines(canvas, [0, 0, 0], False, self.lines2, 1)
pygame.draw.circle(canvas, [0, 0, 255], [self.aRect.x, self.aRect.y], 4, 4)
pygame.draw.line(canvas, [200, 200, 200], [self.aRect.x, 0], [self.aRect.x, 1000], 1)
# pygame.draw.line(canvas, [200, 200, 200], [0, self.aRect.y], [1000, self.aRect.y], 1)
pygame.draw.circle(canvas, [0, 0, 255], [self.bRect.x, self.bRect.y], 4, 4)
pygame.draw.line(canvas, [200, 200, 200], [0, self.bRect.y], [1000, self.bRect.y], 1)
# pygame.draw.line(canvas, [200, 200, 200], [self.bRect.x, 0], [self.bRect.x, 1000], 1)
pygame.draw.circle(canvas, [255, 0, 0], [self.aRect.x, self.bRect.y], 4, 4)
# pygame.draw.circle(canvas, [255, 0, 0], [self.bRect.x, self.aRect.y], 4, 4)
# canvas.blit(self.font.render(
# 'x: {}, y: {}'.format(self.aRect.x, self.bRect.y), True,
# (0, 0, 0), (255, 255, 255)), (self.aRect.x, self.bRect.y))
pygame.display.update()
def handleEvent(): # 创建按键检测方法
for event in pygame.event.get():
# 按下关闭键或ESC键时关闭程序
if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE:
pygame.quit()
exit()
point = Point()
while True:
point.move()
point.draw()
handleEvent()
pygame.time.delay(10)
标签: