抖音上比較有趣的羅盤時(shí)鐘,今天用turtle來畫一下,基本功能實(shí)現(xiàn)了,拿來練習(xí)一下turtle,感覺還可以吧
turtle的安裝
sudo apt-get install python3-tk
羅盤時(shí)鐘
思路就是,繪制三個(gè)圓,在圓周填充字符,充當(dāng)儀表,以當(dāng)前時(shí)間為起點(diǎn),然后定時(shí)重新繪制圖形
所以本例實(shí)現(xiàn)看著有點(diǎn)卡頓的感覺。
運(yùn)行環(huán)境:Python3.6?+?Pygame
import pygame, sys, math
from datetime import datetime
def print_text(font, x, y, text, angle, color=(255, 255, 255)):
"""粉絲朋友+我vx:paisen999獲取系統(tǒng)性學(xué)習(xí)Python的學(xué)習(xí)資料"""
img_text = font.render(text, True, color)
img_text = pygame.transform.rotate(img_text, angle)
screen.blit(img_text, (x, y))
def cycle_text(cirText, bins, today_xx, cirRadius, font):
"""
定義一個(gè)輸出循環(huán)文本的函數(shù)
cirText: 環(huán)形循環(huán)文本,如日期和時(shí)間的中文
bins: 圓需要分為多少等分,如秒需要分成60等分
today_xx: 接收當(dāng)前時(shí)間(月日周時(shí)分秒)的具體數(shù)值
cirRadius: 指定環(huán)形文本的半徑
font: 指定使用的字體
"""
for i in range(1, len(cirText) + 1):
# c_angle: 旋轉(zhuǎn)一次的角度
c_angle = math.radians(360 / bins)*(today_xx - i)
# t_angle: 環(huán)上每個(gè)獨(dú)立文本的角度
t_angle = 0 - (360 / bins) * (today_xx - i)
# add_x: 環(huán)上每個(gè)獨(dú)立文本的橫坐標(biāo)距離pos_x的距離
add_x = math.cos(c_angle)*cirRadius
# add_x: 環(huán)上每個(gè)獨(dú)立文本的橫坐標(biāo)距離pos_x的距離
add_y = math.sin(c_angle)*cirRadius
# print_text(): 調(diào)用上面定義的函數(shù),輸出換上每個(gè)文本
print_text(font, pos_x + add_x, pos_y + add_y, str(cirText[i - 1]), angle=t_angle)
# 初始化一個(gè)界面
pygame.init()
# 屏幕大小
screen = pygame.display.set_mode((800, 700))
# 標(biāo)題
pygame.display.set_caption("Python Clock")
效果截圖:
?文章來源:http://www.zghlxwxcb.cn/news/detail-518476.html
這個(gè)時(shí)鐘有一個(gè)神奇的功效,當(dāng)你心煩時(shí),你就盯著它看,一會(huì)你就會(huì)感到有一股平和的力量充滿了你的大腦。試試吧文章來源地址http://www.zghlxwxcb.cn/news/detail-518476.html
到了這里,關(guān)于利用Python實(shí)現(xiàn)一個(gè)科幻酷炫的羅盤時(shí)鐘~網(wǎng)友:求求你,帶帶弟弟!的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!