1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python神奇时钟项目_怎么在Python项目中利用Pygame绘制一个时钟

python神奇时钟项目_怎么在Python项目中利用Pygame绘制一个时钟

时间:2020-08-30 13:24:56

相关推荐

python神奇时钟项目_怎么在Python项目中利用Pygame绘制一个时钟

怎么在Python项目中利用Pygame绘制一个时钟

发布时间:-11-30 14:24:30

来源:亿速云

阅读:54

作者:Leah

怎么在Python项目中利用Pygame绘制一个时钟?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

功能:

1.初始化界面显示一个时钟界面

2.根据当前的时间实现时针、分针、秒针的移动importpygame,sys,random,math

fromdatetimeimportdatetime

frompygame.localsimport*

defprint_text(font,x,y,text,color=(255,255,255)):

img_text=font.render(text,True,color)

screen.blit(img_text,(x,y))

pygame.init()

#屏幕大小

screen=pygame.display.set_mode((600,500))

#标题

pygame.display.set_caption("时钟")

#字体

font1=pygame.font.Font(None,24)

#圆心位置

pos_x=300

pos_y=250

#圆的半径

radius=250

r=random.randint(0,255)

g=random.randint(0,255)

b=random.randint(0,255)

whileTrue:

foreventinpygame.event.get():

ifevent.type==QUIT:

sys.exit()

keys=pygame.key.get_pressed()

ifkeys[K_ESCAPE]:

sys.exit()

screen.fill((0,0,100))

color=r,g,b

pygame.draw.circle(screen,color,(pos_x,pos_y),radius,6)

#绘制数字1-12

foriinrange(1,13):

angle=math.radians((360/12)*i-90)

x=math.cos(angle)*(radius-20)-10

y=math.sin(angle)*(radius-20)-10

print_text(font1,pos_x+x,pos_y+y,str(i))

#绘制时针

hour=datetime.today().hour%12#获取当前时间的小时

hour_angle=math.radians((360/12)*hour-90)

hour_x=math.cos(hour_angle)*(radius-90)

hour_y=math.sin(hour_angle)*(radius-90)

pygame.draw.line(screen,(255,0,0),(pos_x,pos_y),(pos_x+hour_x,pos_y+hour_y),12)

#绘制分针

minutes=datetime.today().minute#获取当前时间的分钟

minutes_angle=math.radians((360/60)*minutes-90)

minutes_x=math.cos(minutes_angle)*(radius-70)

minutes_y=math.sin(minutes_angle)*(radius-70)

pygame.draw.line(screen,(0,255,0),(pos_x,pos_y),(pos_x+minutes_x,pos_y+minutes_y),8)

#绘制秒针

seconds=datetime.today().second#获取当前时间的秒数

seconds_angle=math.radians((360/60)*seconds-90)

seconds_x=math.cos(seconds_angle)*(radius-30)

seconds_y=math.sin(seconds_angle)*(radius-30)

pygame.draw.line(screen,(0,0,255),(pos_x,pos_y),(pos_x+seconds_x,+pos_y+seconds_y),4)

#覆盖圆心

pygame.draw.circle(screen,(255,255,255),(pos_x,pos_y),10)

pygame.display.update()

关于怎么在Python项目中利用Pygame绘制一个时钟问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。